线上MySQL升级5.7操作流程步骤

2022-01-06  本文已影响0人  Fox_Nick

一、前言

线上MySQL环境是主从集群,升级先从slave开始,升级完每个slave,再升级Master。
升级前要先停止主从同步,并做好数据备份和回滚准备,以避免升级失败可及时恢复挽回。

二、准备工作

2.1、上传升级文件

上传mysql-5.7.17-linux-glibc2.5-x86_64.tar 升级文件到DB1,DB2,DB3的/unilifeData目录。

2.2、暂停主从同步

登录slave 从MySQL,执行stop slave;

2.3、停止MySQL

service mysqld stop

2.4、备份
2.4.1、旧版MySQL程序备份
[unilife@db2 ~]$ cd /usr/local/
[unilife@db2 local]$ mv mysql/ mysql_56_old
2.4.2、数据备份

Db1:

[unilife@VM_44_118_centos ~]$ cd /unilifeData/mysqlData/
[unilife@VM_44_118_centos mysqlData]$ cp -rp mysql/ mysql_56_old

Db2:

[unilife@db2 ~]$ cd /unilifeData/data
[unilife@db2 data]$ cp -rp mysql/ mysql_56_old/

Db3:

[unilife@VM_44_118_centos ~]$ cd /unilifeData/mysqlData/
[unilife@VM_44_118_centos mysqlData]$ cp -rp mysql/ mysql_56_old
2.4.3、my.cnf配置文件备份
[unilife@db2 ~]$ cp /etc/my.cnf /etc/my_56_old.cnf
2.4.4、备份启动脚本
[unilife@db2 ~]$ mv /etc/rc.d/init.d/mysqld /etc/rc.d/init.d/mysqld_56_old

三、升级MySQL

3.1、解压新版MySQL
[unilife@db2 ~]$ tar –zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar
[unilife@db2 ~]$ mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
[unilife@db2 ~]$ chown –R mysql.root /usr/local/mysql
3.2、替换新版mysqld启动脚本
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
3.3、修改my.cnf

添加以下内容:

slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
skip-name-resolve
#slave-skip-errors=all
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3.4、启动mysql
[root@VM_99_60_centos ~]# service mysqld start
3.5、系统表升级
[root@VM_99_60_centos ~]# /usr/local/mysql/bin/mysql_upgrade -uroot –p
3.6、重启MySQL实例
[root@VM_99_60_centos ~]# service mysqld restart

四、重新开启主从同步

所有MySQL都升级完成后,重新进行数据同步,并检查同步状态。

mysql> start slave;
mysql> show slave status\G

看到以下信息,则同步正常

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

升级完成!

上一篇下一篇

猜你喜欢

热点阅读