MySQL主从架构小版本升级
从库
一、新版本mysql环境准备
1.解压mysql 5.7.31
tar -zxf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /software/
2. 替换软链接
[root@study04 software]# lltotal 0drwxr-xr-x 3 mysql mysql 209 Apr 12 14:14 3307drwxr-xr-x 3 mysql mysql 209 Apr 12 14:22 3308lrwxrwxrwx 1 mysql mysql 35 Apr 12 11:36 mysql -> mysql-5.7.25-linux-glibc2.12-x86_64drwxr-xr-x 9 mysql mysql 129 Apr 12 11:30 mysql-5.7.25-linux-glibc2.12-x86_64drwxr-xr-x 9 7161 31415 129 Jun 2 2020 mysql-5.7.31-linux-glibc2.12-x86_64[root@study04 software]# unlink mysql[root@study04 software]# ln -s mysql-5.7.31-linux-glibc2.12-x86_64 mysql[root@study04 software]# lltotal 0drwxr-xr-x 3 mysql mysql 209 Apr 12 14:14 3307drwxr-xr-x 3 mysql mysql 209 Apr 12 14:22 3308lrwxrwxrwx 1 root root35 Apr 12 14:28 mysql -> mysql-5.7.31-linux-glibc2.12-x86_64drwxr-xr-x 9 mysql mysql 129 Apr 12 11:30 mysql-5.7.25-linux-glibc2.12-x86_64drwxr-xr-x 9 7161 31415 129 Jun 2 2020 mysql-5.7.31-linux-glibc2.12-x86_64
3.修改目录权限
chown -R mysql.mysql mysql-5.7.31-linux-glibc2.12-x86_64
二、停从库流量和实例并备份数据
1.检查表是否损坏
mysql> select * from information_schema.tables where TABLE_COMMENT like '%repair%';Empty set (0.10 sec)
2.检查从库主从是否正常及有无延迟
show slave status \G
3.停从库流量及io_thread
mysql> stop slave io_thread;Query OK, 0 rows affected (0.00 sec)
4.数据全部落盘
待slave sql_thread完全应用后全部落盘
mysql> set global innodb_fast_shutdown=0;Query OK, 0 rows affected (0.00 sec)
5.停从库
mysql> shutdown;Query OK, 0 rows affected (0.00 sec)
4.备份从库
通过 cp datadir 目录的方式来备份
cp -a data data0412
三、启动新版本MySQL
1.检查my.cnf配置文件
- 1.1 检查basedir指向位置是否正确
- 1.2 super_read_only 如果开启的话需要临时关闭,后期升级数据字典时候需要写入数据
2.检查启动脚本basedir指向是否正确
[root@study04 3308]# cat /etc/systemd/system/mysqld_3308.service | grep ExecStartExecStart=/software/mysql/bin/mysqld --defaults-file=/software/3308/my.cnf
3.启动msyql5.7.31
[root@study04 3308]# systemctl start mysqld_3308[root@study04 3308]# ps -ef | grep mysqld | grep 3308mysql 6703 1 10 14:58 ?00:00:01 /software/mysql/bin/mysqld --defaults-file=/software/3308/my.cnf
四、运行 mysql_upgrade 升级数据字典
1.运行 mysql_upgrade
- 1.出现Upgrade process completed successfully字样表示成功
- 2.如果中间出现错误打断,需要再次运行
[root@study04 3308]# mysql_upgrade -uroot -S /software/3308/mysql.sockChecking if update is needed.Checking server version.Running queries to upgrade MySQL server.Checking system database.mysql.columns_priv OKmysql.dbOKmysql.engine_cost OK.........sbtest.sbtest3 OKsbtest.sbtest4 OKsys.sys_config OKUpgrade process completed successfully.Checking if update is needed.
2.重启MySQL 5.7.31实例
[root@study04 3308]# systemctl restart mysqld_3308
五、升级后操作
1.确认升级是否成功
mysql> select version();+------------+| version() |+------------+| 5.7.31-log |+------------+1 row in set (0.00 sec)
2.检查主从状态及延迟情况
mysql> show slave status \G
主库
- 1.停主库流量
- 2.待主从数据一致后进行主从切换
- 3.讲流量指向升级后新主库
- 4.原主库重复上述步骤升级
因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net
微信公众号:easydb
关注我,不走丢!
因为有悔,所以披星戴月;因为有梦,所以奋不顾身! 个人博客首发:easydb.net 微信公众号:easydb 关注我,不走丢!
作者:easydba
来源链接:https://www.cnblogs.com/easydb/p/14673010.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。