【MySQL运维】使用mysql_upgrade升级MySQL

TangLu MySQL 2021-01-10 3552 0

mysql_upgrade是官方提供的MySQL升级工具,支持跨大版本升级,如5.0升级到5.7。但为了数据安全,在升级前务必做好备份。如果是主从架构,按照先升级从库-->主从切换-->升级从库的步骤实现滚动升级。主库版本不能高于从库,避免新特性在从库上不支持


1、干净地关闭掉当前MySQL服务

set global innodb_fast_shutdown = 0 ;  #完成所有full purge和merge insert buffer操作
/usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown


2、删除老版本MySQL软连接(如果有的话)

rm -rf /usr/local/mysql


3、为新版本MySQL创建软连接文件

ln -s /usr/local/mysql-5.7 /usr/local/mysql


4、使用新版本启动服务,并且跳过权限认证表,防止新老版本权限表结构不同导致异常

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &


5、运行mysql_upgrade升级表结构,升级完成

 mysql_upgrade --defaults-file=/etc/my.cnf --upgrade-system-table  #--upgrade-system-table代表只更新系统表,不用更新数据,避免重构数据时间消耗太长

评论