記一次mysql小版本升級


最近對后端組件進行安全掃描時,發現了一些輕微漏洞,為了避免后續部署后安全掃描出現問題,決定對mysql做一次版本升級。升級的原則是對mysql的二進制文件進行升級,若有主備節點,先升級從節點升級完成后將其提為主節點,然后再升級原主節點。

升級步驟:

mysql當前版本:5.7.24

目標版本:5.7.28

 

前期准備:

1.待升級mysql安裝包:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,下載地址:https://dev.mysql.com/downloads/mysql/

 

 

 

 

 

 

 

 

 

 

 

 

 

2.備份mysql數據:

./mysqldump -u<ACCOUNT> -p<PASSWORD> -S mysql.sock -F -A -B |gzip > ~/mysql_backup/20191020/mysqlbak.sql.gz

3.備份配置文件:

cp <mysql-root>/*.cnf ~/mysql_backup/20191020/

 

步驟(完整流程包含准備內容):

 

1.備份數據庫: 

mysqldump -u<username> -p<password> -S mysql.sock -F -A -B |gzip >/home/user/backup/20191029/mysqlbak.sql.gz

 

 

2.停止mysql數據庫,我是使用supervisor做進程管理,所以直接執行命令:

supervisorctl stop mysql

tip:若未使用守護進程則使用如下命令關閉mysql:

mysql -u root -p -S /data/mysql3308/mysql3308.sock --execute="SET GLOBAL innodb_fast_shutdown=0"
mysqladmin -u root -p -S /data/mysql3308/mysql3308.sock shutdown

 

3.備份啟動配置文件以及啟動腳本:

cp mysql/*.cnf /home/user/backup/20191029/
### 啟動腳本是自己寫的用於supervisor,正常mysql是沒有這個的
cp mysql/bin/start.sh /home/user/backup/20191029/

 

4.解壓新版本的壓縮包至安裝目錄:

tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C <install-root>

 

5.將mysql的軟連接指向新版本的二進制文件

mv mysql mysql.20191029
ln -s <install-root>/mysql-5.7.28-linux-glibc2.12-x86_64 mysql

 

6.將備份的啟動配置文件以及啟動腳本拷貝至新的mysql當中:

cp /home/user/backup/20191029/*.cnf <install-root>/mysql/
cp /home/user/backup/20191029/bin/start.sh<install-root>/mysql/bin

 

7.啟動mysql:

supervisorctl start mysql

 

8.檢查所有表是否與當前版本兼容,並更新系統庫(這個版本因為比較小所以系統庫的內容是兼容的):

mysql_upgrade -u<user> -p<password> -S mysql.sock

 

9.重新啟動mysql,讓對系統表的改動生效:

supervisorctl restart mysql

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM