这篇文章将为大家详细讲解有关MySQL升级的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

MySQL升级的实质:

对数据字典的升级

数据字典有:mysql、information_schema、performance_schema、sys schema。

MySQL升级的两种方式:

in-place upgrade:

适合小版本的升级。

即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade.

特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7).

logical upgrade:

适合不同操作系统的MySQL升级,大版本之间的升级。

即:使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。

特点:可以跨操作系统,跨大版本;但,升级速度慢,容易出现乱码等问题。

升级操作:

1、对5.7的软件包,下载,解压

#tar-xzvfmysql-5.7.20-linux-glibc2.12-x86_64.tar.gz#ln-smysql-5.7.20-linux-glibc2.12-x86_64mysql5.7

2、关闭当前MySQL(5.6)

#mysql-uroot-p-S/data/mysql3308/mysql3308.sock--execute="SETGLOBALinnodb_fast_shutdown=0"#mysqladmin-uroot-p-S/data/mysql3308/mysql3308.sockshutdown

3、替换二进制文件(5.7 替换 5.6)

#cd/usr/local#mvmysqlmysql5.6#mvmysql5.7mysql

4、使用现有的数据目录启动MySQL

#mysqld_safe--user=mysql--socket=/data/mysql3308/mysql3308.sock-p--skip-grant-tables--datadir=/data/mysql3308/data

5、检查所有表是否与当前版本兼容,并更新系统库

#mysql_upgrade-uroot-p-S/data/mysql3308/mysql3308.sock注:mysql_upgrade的作用是检查所有库的所有表是否与当前的新版本兼容,并更新系统库。

6、重启,确保对系统表所做的变更得以生效

#mysqld--defaults-file=/data/mysql3308/my3308.cnf&#mysql-uroot-p-S/data/mysql3308/mysql3308.sock

关于MySQL升级的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。