从5.7.21升级到5.7.22
使用二进制包升级
1.升级前的准备
备份数据
查看要升级的版本有什么新特性,看看有没有什么不兼容的,新版本移除了什么特性,调整了那些参数
2.SET GLOBAL innodb_fast_shutdown=0
让INNODB在关闭之前执行完全清除和更改缓冲区合并,确保数据文件是完整的
3.关闭mysql
mysqladmin -u root -p shutdown
4.升级mysql二进制文件
用5.7.22的二进制安装包代替5.7.21的二进制安装包
5.启动mysqld
mysqld_safe –user=mysql –datadir=/path/to/existing-datadir
6.升级一下mysqld,确保兼容性
mysql_upgrade -u root -p
7.重启mysqld,确保升级的参数都生效
mysqladmin -u root -p shutdown
mysqld_safe –user=mysql –datadir=/path/to/existing-datadir
逻辑升级
1.升级前的建议
备份数据
查看要升级的版本有什么新特性,看看有没有什么不兼容的,新版本移除了什么特性,调整了那些参数
2.逻辑备份数据
mysqldump -u root -p
–add-drop-table –routines –events
–all-databases –force > data-for-upgrade.sql
注意:如果有用到虚拟列的话需要用MySQL 5.7.9以上的mysqldump备份
3.关闭mysqld
mysqladmin -u root -p shutdown
4.安装mysql5.7
Install MySQL 5.7
5.初始化mysql
mysqld –initialize –datadir=/path/to/5.7-datadir
6.启动mysqld
mysqld_safe –user=mysql –datadir=/path/to/5.7-datadir
7.修改密码
Reset the root password
shell> mysql -u root -p
Enter password: ** <- enter temporary root password
mysql> ALTER USER USER() IDENTIFIED BY ‘your new password’;
8.导入数据
mysql -u root -p –force < data-for-upgrade.sql
9.升级mysqld
mysql_upgrade -u root -p
10.重启mysqld使一些配置参数生效
mysqladmin -u root -p shutdown
mysqld_safe –user=mysql –datadir=/path/to/existing-datadir