一 数据备份
(1)查看当前版本:
Shell
[root@centos ~]# mysql -V
1[root@centos~]# mysql -V
(2)备份数据:
Shell
[root@centos ~]# mysqldump -u root -h 127.0.0.1 -P 3306 -p --all-databases > databases.sql
1[root@centos~]# mysqldump -u root -h 127.0.0.1 -P 3306 -p --all-databases > databases.sql
(3)备份my.cnf配置文件:
Shell
[root@centos ~]# cp /etc/my.cnf /home/
1[root@centos~]# cp /etc/my.cnf /home/
(4)卸载旧版本MySQL:
Shell
[root@centos ~]# yum remove mysql mysql-*
1[root@centos~]# yum remove mysql mysql-*
查看已安装的MySQL的rpm包:
Shell
[root@centos ~]# rpm -qa | grep mysql
1[root@centos~]# rpm -qa | grep mysql
如果存在rpm包则继续卸载:
Shell
[root@centos ~]# rpm -e --nodeps mysql-xxx
1[root@centos~]# rpm -e --nodeps mysql-xxx
二 安装新版本MySQL
(1)可联网情况下可以使用rpm包安装:
Shell
[root@centos ~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
1[root@centos~]# rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
或者下载到本地后,使用:yum localinstall mysql57-community-release-el6-11.noarch.rpm 安装
最后使用yum即可安装成功:
Shell
[root@centos ~]# yum install mysql-server -y
[root@centos ~]# yum install mysql-devel -y
1
2[root@centos~]# yum install mysql-server -y
[root@centos~]# yum install mysql-devel -y
(2)不可联网情况下可以下载完整rpm包安装:
Shell
[root@centos src]# tar -xvf mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar
[root@centos src]# mkdir mysql-5.7
[root@centos src]# mv mysql-community-* mysql-5.7/
[root@centos src]# cd mysql-5.7
1
2
3
4
5[root@centossrc]# tar -xvf mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar
[root@centossrc]# mkdir mysql-5.7
[root@centossrc]# mv mysql-community-* mysql-5.7/
[root@centossrc]# cd mysql-5.7
注意下面的安装顺序:rpm -ivh mysql-community-common-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-embedded-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-embedded-devel-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.19-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.19-1.el6.x86_64.rpm
可选项:rpm -ivh mysql-community-test-5.7.19-1.el6.x86_64.rpm
注:
还原并修改my.cnf配置文件:
Shell
[root@centos ~]# mv /etc/my.cnf /etc/my.cnf.bak
[root@centos ~]# mv /home/my.cnf /etc/my.cnf
1
2[root@centos~]# mv /etc/my.cnf /etc/my.cnf.bak
[root@centos~]# mv /home/my.cnf /etc/my.cnf
添加以下两项配置:explicit_defaults_for_timestamp=1
socket=/var/lib/mysql/mysql.sock
修复MySQL升级之后导致的版本问题:
i)以安全模式启动MySQL服务:
Shell
[root@centos src]# mysqld_safe --skip-grant-tables &
1[root@centossrc]# mysqld_safe --skip-grant-tables &
ii)执行upgrade:
Shell
[root@centos src]# mysql_upgrade
1[root@centossrc]# mysql_upgrade
启动MySQL:
Shell
[root@centos ~]# service mysqld start
1[root@centos~]# service mysqld start
再次查看MySQL版本:
Shell
[root@centos ~]# mysql -V
1[root@centos~]# mysql -V
可以发现,现在MySQL已经升级到5.7.19版本了
注:如果不慎移动/删除了MySQL的数据文件,导致出现了以下错误,则可以执行下面的操作修复MySQL不能启动的问题:
删除MySQL数据目录下面的所有ib_logfile 日志文件:
Shell
[root@centos ~]# rm -rf /var/lib/mysql/ib_logfile*
1[root@centos~]# rm -rf /var/lib/mysql/ib_logfile*
特别注意:执行该命令后原MySQL部分数据将会丢失,因此执行之前要确保MySQL数据已经备份过了
三 数据还原
正常情况下的升级不会导致数据出现丢失的情况,因此不用执行下面的数据还原操作
登录MySQL之后执行:
MySQL
mysql> source /root/databases.sql
1mysql>source/root/databases.sql
到此,关于MySQL的整个升级过程就全部结束了