思路:
初始化全新的MySQL5.7实例,复用已有的MySQL5.6实例data文件夹,用生成的5.7的performance_schema覆盖5.6的performance_schema文件夹。启动MySQL5.7实例,执行升级MySQL5.7命令(更新数据字典和系统表)。
注意事项:
启用新的Mysql5.7生产实例之前,请做好备份旧的Mysql5.6数据文件。
步骤:
1、Oracle官网下载MySQL5.7的安装包:mysql-5.7.38-linux-glibc2.12-x86_64
2、根据 《MySQL5.7安装指南》安装MySQL5.7,直至初始化步骤(包含)
3、进入Mysql5.7的数据文件夹(比如/opt/data/mysql5.7),保留performance_schema文件夹,其他所有清空
4、停止mysql5.6数据库实例,备份数据文件夹。
tar czvf ./mysql5.6.tar.gz ./mysql5.6
5、将Mysql5.6的数据文件夹(比如/opt/data/mysql5.6)中所有内容copy至Mysql5.7的数据文件夹中,除了文件ib_logfile*和performance_schema文件夹之外(他们需要删除)
6、重启新的MySQL5.7数据库实例,此时5.7的系统用户全是5.6迁移过来的
./bin/mysqld_safe —defaults-file=/usr/local/mysql5.7/my.cnf —user=mysql &
7、观察错误日志文件error.log,出现ERROR错误不可怕,只要实例能够启动,等待执行升级命令即可消失
8、执行升级MySQL5.7命令
./bin/mysql_upgrade -h127.0.0.1 -uroot -P3307 -p
9、重启MySQL5.7实例,查看错误日志文件error.log是否有报错,然后作相应调整