目录
4、删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件
前提:
1、本教程mysql目录:/usr/mysql5.7
2、centos7使用root账户,非root账户命令前需要加sudo
3、centos的ip:192.168.6.73
4、数据库账户密码、名称、目录根据实际操作
以上mysql5.7.32的安装教程是根据另一篇帖子安装步骤安装的,有需要可参考。
centos7在不联网环境下离线安装部署mysql5.7,配置文件my.cnf详解_mr__bai的博客-CSDN博客
我暂时存放在了/opt目录下。
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

如果是直接挂在u盘,直接复制过去就行了。
如果是从windows平台远程到centos系统:
方法一:直接从window操作平台命令行上传
- scp 本地文件目录 用户名@IP:linux下的目录
-
- #例如本教程中:
- scp C:\Users\BAI\Desktop\mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz root@192.168.6.73:/opt
需yes确认以及root用户密码确认(我这里用的是root用户,所以是root密码)

方法二:使用winscp软件连接后上传
教程:linux远程连接,上传文件至linux_mr__bai的博客-CSDN博客

(tomcat服务用到mysql数据库的服务,我这里是tomcat,也可能其他服务或者没有)
进入tomcat目录下的bin文件。执行下边的shutdown.sh

查看mysql服务状态,状态应为active,如果不是请开启服务。(服务名之前旧版本设置的是mysql)
- systemctl status mysql
- #开启服务
- systemctl start mysql

方法一:如果有window环境能够联通centos系统,并有数据库工具,使用数据库工具备份即可(简单)
方法二:命令备份
- # 仿照下列命令数据,将数据库备份到/opt目录下:
- 绝对路径的mysqldump -hIP -P端口 –u用户名 -p -c --add-drop-table 数据库名>/opt/数据库名.sql
-
- # 本教程中的为:
- /usr/mysql5.7/bin/mysqldump -hlocalhost -P3336 -uroot -p -c --add-drop-table superefpmj_sdjn >/opt/superefpmj_sdjn.sql

如果报mysql.sock错时,请搜索mysql.sock位置,并建立软链接,如果没有请跳过:
- # 搜索mysql.sock并建立位置
- find / -name mysql.sock
- # 建立软链接
- ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

然后重新执行上一条备份命令。
- # 停止mysql服务
- systemctl stop mysql
- # 查看mysql服务状态
- systemctl status mysql
服务状态变为inactive

进入mysql文件夹的同级目录,我的是cd /usr
tar -cvzf mysqlBak.tar.gz mysql5.7/
执行完毕后查看目录,可看到已备份完成

rm –rf mysql5.7

- cd /etc/init.d
- rm -rf mysql

(之前是上传到了/opt目录下)
进入原mysql同级目录下:/usr,并解压
- cd /usr
- # 解压到当前目录
- tar -zxvf /opt/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
- # 重命名解压后的文件夹
- mv mysql-5.7.39-linux-glibc2.12-x86_64/ mysql5.7

进入mysql5.7目录
- cd /usr/mysql5.7
- # 创建文件夹
- mkdir data
- mkdir log

在之前安装的教程里,设置了mysql用户及用户组,用来专门管理mysql服务。更新mysql后依然使用原来的用户和用户组。
- cd /usr
- # 命令用于设置文件所有者和文件关联组的命令
- chown -R mysql mysql5.7
- # 命令用于变更文件或目录的所属群组
- chgrp -R mysql mysql5.7

/usr/mysql5.7/bin/mysqld --user=mysql --initialize
cp /usr/mysql5.7/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
systemctl start mysql.service
5、如果报错(不报错则跳过):

编辑 /etc/selinux/config 将SELinux更改为宽松模式

mysql –V

- # 查看到数据库初始密码。
- grep "password" /usr/mysql5.7/log/error.log

登录mysql服务:
mysql -uroot -p

修改数据库登录密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
下面命令是开启所有的ip,如果是某个ip,用ip代替%。
- # 任何主机
- mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'superred' WITH GRANT OPTION;
- # 刷新权限
- mysql>flush privileges;

数据库名称应与原数据库中的一致。
- # mysql中创建数据库语句
- CREATE DATABASE `数据库名`CHARACTER SET utf8 COLLATE utf8_general_ci;
- # 例如本教程中的:
- CREATE DATABASE `superefpmj_sdjn`CHARACTER SET utf8 COLLATE utf8_general_ci;

导入备份的数据库:
先退出mysql命令:exit
- # 导入语句
- mysql -hIP –P端口 -uroot -psuperred superefp_sdjn< superefp_sdjn.sql
- # 本教程中:
- mysql -hlocalhost -P3336 -uroot -p superefpmj_sdjn

到此:mysql服务升级完成,启动该启动的服务即可