目录
一、升级前须知
1.INPLACE 就地升级
指在一台服务器上,原版本升级到新版本,风险较大
主从环境下先升级从库后升级主库
注意:先做冷备,方便失败的时候回退(data目录cp到专门的地方)
2.LOGICAL 迁移升级
使用逻辑备份方式,风险小,成本高
3.野路子
骗过漏洞检查,直接修改版本号说明
4.注意事项
升级前去官网看指导,变更意味着风险,做好充足的演练和回退方案
5.6升级5.7可以回退,5.7升级8.0不能回退
二、INPLACE升级过程原理,生产思路
1.安装新版本软件
2.关闭原数据库业务,挂维护页 innodb_fast_shutdown=0,备份数据(冷备)
3.使用新版本软件挂旧版本数据启动( )
4.升级:只是升级系统表,升级时间和数据量是无关的
5.正常重启数据库
6.验证各项功能是否正常
7.业务恢复
三、MySQL5.6升级到5.7
1.干净关闭
set global_fast_shutdown=0;
shutdown;
2.使用高版本软件挂低版本数据
修改3356/my.cnf
3.安全启动
/usr/local/mysql3357/bin/mysqld_safe --defaults-file=/data/3356/my.cnf --skip-grant-tables --skip-networking &
4.系统表升级(已弃用)
/usr/local/mysql3357/mysql_upgrade -S /tmp/mysql3356.sock --force
5.重启到正常状态
set global_fast_shutdown=1;
mysql -uroot -S /tmp/mysql3356.sock
四、MySQL5.7升级到8.0
1.下载对应版本的mysql-shell,并安装,用于检测当前环境是否符合升级条件
软件:MySQL :: Download MySQL Shell (Archived Versions)
2.预检查
./mysqlsh -S /tmp/mysql3357.sock -e "util.checkForServerUpgrade()"