logical upgrade
注:不可以跨版本, 5.5 需要先升级到5.6,再升级到5.7
Step 1: 将数据备份出来
mysqldump -u root -p
--add-drop-table --routines --events
--all-databases --force > data-for-upgrade.sql
Step2:
另外找机器,安装5.7,并按照线上规范配置;
设置sql_mode: sql_mode=”NO_ENGINE_SUBSTITUTION”;
修改参数:show_compatibility_56=1
Step 3:
将备份文件传到5.7的机器上,进行恢复
mysql –uroot –p –-force < data-for-upgrade.sql
Step 4:
mysql_upgrade 会检测所有库中的所有表与当前环境的兼容性,包括系统表;
mysql_upgrade -u root -p
注意:mysql_upgrade 不会更新help 表的内容;
Step 5:
restart DB,确保所有对系统表的更新都生效;
查看日志文件,确保无错入日志发生;
Upgrade Troubleshooting
1, 如果服务没起来,检查启动日志,确保my.cnf 不是5.5的;
2, 如果使用了自定义函数(线上不允许),可能会无法使用;