一 數據備份
(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的整個升級過程就全部結束了