MySQL 5.7 升级 MySQL 8.0

将5.7 升级至 8.0
1.预检查
# 新特性:
1、mysql-shell工具,8.0以后,可以调用这个命令,升级之前的预检查。
例子:
[root@db01 ~]# mysqlsh root:123@192.168.22.51:3306 -e "util.checkForServerUpgrade()"

预检测很有必要
2、升级时不再需要手工 mysql_upgrade
3、限制:升级前必须要备份。否则无法回退。


MySQL 5.7.32 升级至 8.0.24 版本演练
a. 下载 8.0.24 版本的 mysql-shell,并安装 。
https://downloads.mysql.com/archives/
[root@db01 app]# yum install -y mysql-shell-8.0.24-1.el7.x86_64.rpm
或者:
[root@db01 opt]# tar xf mysql-shell-8.0.24-linux-glibc2.12-x86-64bit.tar.gz
[root@db01 opt]# ln -s /opt/mysql-shell-8.0.24-linux-glibc2.12-x86-64bit
/usr/local/mysqlsh
[root@db01 bin]# vim /etc/profile
export PATH=/usr/local/mysqlsh/bin:$PATH
[root@db01 bin]# source /etc/profile

b. 创建连接用户
[root@db01 data]# mysql -S /tmp/mysql3357.sock
mysql> grant all on *.* to root@'10.0.0.%' identified by '123';

c. 预检查
[root@db01 data]# mysqlsh root:123@192.168.22.51:3357 -e
"util.checkForServerUpgrade()" >/tmp/up.log
[root@localhost bin]# ./mysqlsh -S /tmp/mysql57.sock -e
"util.checkForServerUpgrade()"

d. 停原库(5.7.32)
[root@db01 data]# mysql -S /tmp/mysql3357.sock

kill 会话
oldguo-db01 [(none)]>set global innodb_fast_shutdown=0;
[root@db01 data]# /usr/local/mysql57/bin/mysqladmin -S /tmp/mysql3357.sock
shutdown

冷备数据库

e. 使用高版本软件挂低版本数据启动
[root@db01 data]# /usr/local/mysql/bin/mysqld_safe --defaults-
file=/data/3357/my.cnf --skip-grant-tables --skip-networking &

启动完就升级完了

[root@db01 data]# /usr/local/mysql/bin/mysqld_safe --defaults-
file=/data/3357/my.cnf &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值