项目05(Mysql升级06Mysql5.6.51升级到Mysql5.7.32)

背景

《承接上文,项目05(Mysql升级05Mysql5.5.62升级到Mysql5.6.51)》,

写在前面

需要(考虑)检查和测试的层面很多,不限于以下内容。

逻辑升级

命令介绍详见上文

1.
mysqlcheck --defaults-file=/etc/my.cnf  -u root -p --all-databases --check-upgrade
2.
mysqldump --socket=/tmp/mysql5.6.51.sock -u root -p --add-drop-table --routines  --events --master-data=2 --single-transaction --databases  ceshi100 ceshi555 ceshi55555 ceshi666 ceshi66666 ceshi888 ceshi88888 ceshi999 ceshi99999  mysql --force > data-for-upgrade.sql
3.
/etc/init.d/mysqld5.6.51 stop
4.
PATH=$PATH:/usr/local/mysql5.7.32/bin
5.
vim /etc/my.cnf(线上库复制的,注意检查参数比如server_id)
6.
(注意5.6mysql_install_db和5.7--initialize的初始化命令不一样)
/usr/local/mysql5.7.32/bin/mysqld --user=mysql --basedir=/usr/local/mysql5.7.32 --datadir=/usr/local/mysql5.7.32/data  --initialize
(5.7不支持,5.6支持)unknown variable 'defaults-file=/etc/my.cnf'

tailf mysql-error.log 可以得到用户密码root@localhost: ?su3h<tktnoD

7.
cp support-files/mysql.server /etc/init.d/mysqld5.7.32
vim /etc/init.d/mysqld5.7.32
basedir=/usr/local/mysql5.7.32
datadir=/usr/local/mysql5.7.32/data
8.
/etc/init.d/mysqld5.7.32 start
9.
ln -s  /tmp/mysql5.7.32.sock /tmp/mysql.sock
./bin/mysql_secure_installation  原始密码是?su3h<tktnoD,输入之后设置新密码
10.
mysql -u root -p --force < data-for-upgrade.sql  #up从5.7  先reset master;
/usr/local/mysql5.7.32/bin/mysql_upgrade -u root -p
(如果备份包含系统库,请先导入再升级。推荐只备份业务库)
如果errorlog出现,是因为备份文件中包含mysql库,并且在执行升级命令之后,又导入了一次,
请重新运行/usr/local/mysql5.7.32/bin/mysql_upgrade -u root -p --force
2021-03-01T11:33:15.681733+08:00 12 [Warning] InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name.  Please run mysql_upgrade
(主要是用户数据,可重建)
11.
/etc/init.d/mysqld5.7.32 restart
12.
因为没有进行主从切换,所以新版本的主库,直接作为主库,从库5.7之间start slave;
之后从库日志会显示新主库的UUID发生了改变:(不影响复制)
[Warning] The master's UUID has changed, although this should not happen unless you have changed it manually. The old UUID was b2d3d769-734d-11eb-9d66-000c29691a9a.
select * from performance_schema.replication_applier_status_by_worker\G(查看详细信息)
解决方案是:重建复制
reset slave all;
reset master;
change master to master_host='192.168.66.190',master_user='repl',master_port=3306,master_password='123456',master_auto_position=1;

欢迎留言讨论

下文《项目05(Mysql升级07)》,我们一起讨论一下Mysql5.7.32升级到Mysql8.0.22

本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值