5.7.30 - 5.7.10 inplace downgrade

官方解释:
Downgrade from MySQL 5.7 to 5.6 is supported using the logical downgrade method.
In-place downgrade is supported for downgrades between GA
releases within the same release series(5.7.y --->5.7.x).
 
原版本:
软件: 5.7.30 /usr/local/mysql + 数据:/data/3306/data
目标版本: 5.7.10 /usr/local/mysql5710
 
 
安装 5.7.10 (低) 二进制版本
[root@db01 app]# ln -s mysql-5.7.10-linux-glibc2.5-x86_64  mysql5710


针对5728版本(高)进行处理工作
https://dev.mysql.com/doc/refman/5.7/en/downgrading-to-previous-series.html
[root@db01 app]# cp /etc/my.cnf.bak /etc/my.cnf
[root@db01 app]# /etc/init.d/mysqld restart
[root@db01 app]# /usr/local/mysql/bin/mysql -uroot -p123456 -S /tmp/mysql.sock
set sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
set global sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' ;
select @@sql_mode;
ALTER TABLE mysql.proc MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE mysql.event MODIFY definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE mysql.tables_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';
ALTER TABLE mysql.procs_priv MODIFY Grantor char(77) COLLATE utf8_bin NOT NULL DEFAULT '';


优雅的关闭5.7.30(高)
[root@db01 app]# /usr/local/mysql/bin/mysql -uroot -p123456 -S /tmp/mysql.sock
set global innodb_fast_shutdown=0 ;
[root@db01 app]# /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown


删除ib_logfile*
[root@db01 mysql5710]# rm -rf /data/3306/data/ib_logfile*


替换配置文件(替换成低版本)
[root@db01 mysql5710]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql5710
#basedir=/usr/local/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock


低版本启动高版本数据库
/usr/local/mysql5710/bin/mysqld --skip-grant-tables --skip-networking &
执行upgrade
[root@db01 ~]# /usr/local/mysql5710/bin/mysql_upgrade -uroot -p123456 --force


启动到正常模式
[root@db01 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
/usr/local/mysql5710/bin/mysql -uroot -p123456 -S /tmp/mysql.sock
 
 
 
posted @ 2025-06-21 20:24  屠魔的少年  阅读(25)  评论(0)    收藏  举报