MySql版本升級(8.0.19升級到8.0.22)


一、環境說明

操作系統:Windows Server2008 R2

數據庫版本:MySql 8.0.19  數據庫中數據量很小,處於測試環境,風險較低

二、升級原因

升級是因為測評漏洞,在進行國家三級等級保護測評過程中,漏掃發現多個MySql漏洞。

image

image

一共包含3個高危漏洞以及約50個高危漏洞,經過整體整改建議查看,需要升級到8.0.20版本后可以解決相關漏洞,因此評估對版本進行升級,發現最新版本的為8.0.22版本,直接一步到位,升級到最新版。

三、升級方法

查了相關資料,MySql升級從8.0.16是一個分水嶺,在該版本前后的升級方法有所不同,8.0.16版本之后升級方法大大簡化。恰好我這里是8.0.16版本后的,暗自慶幸一下。

網上大部分資料都是介紹8.0.16之前的版本升級,8.0.16后的版本升級資料不多,我這里是直接按照官方文檔進行的升級操作,簡單的大概分為三步即可【停服務】—>【文件覆蓋】—>【啟服務】(像不像把大象放進冰箱里面的操作,只要三步,打開冰箱—>放進大象—>關上冰箱(* ̄︶ ̄))。

下面來介紹一下具體的操作:

官方升級文檔參考:

https://dev.mysql.com/doc/refman/8.0/en/windows-upgrading.html#windows-upgrading-zip-distribution

image

image

大概總結如下(官方步驟中有一個操作可能可以通過多種方式實現):

1、下載最新的安裝包,我這里使用的是解壓包的方式,所以下載的為ZIP格式文件(使用exe升級的方式大同小異,可以同樣參考官方文檔進行操作);

下載地址:https://dev.mysql.com/downloads/mysql/

image

2、查看已安裝Mysql的版本

可以通過  SELECT VERSION(); 語句查看;

SELECT VERSION();

QQ截圖20210106094732

或者通過CMD命令中執行命令查看

MYSQL -V

QQ截圖20210106094952

3、停止服務前確定數據庫的引擎類型以及服務重啟方式。

查看數據庫默認引擎類型

show variables like '%storage_engine%';

QQ截圖20210106095144

查看提供的存儲引擎

show engines;

QQ截圖20210106095157

也可以通過表查看某一個表的了類型,在表的創建語句中找到ENGINE名稱,一般是InnoDB

show create table 表名;

QQ截圖20210106095730

設置服務關閉方式,

show variables like '%innodb_fast_shutdown%';

設置為0:會做清除臟頁和插入緩沖區的合並操作,也會將臟頁全部刷新到磁盤上面去,但是這個時候關閉的速度也是最慢的;

設置為1:關閉MySQL的時候不會做清除臟頁和插入緩沖區的合並操作,也不會將臟頁刷新到磁盤;

設置為2:不會做清除臟頁和插入緩沖區的合並操作,也不會將臟頁刷新到磁盤,但是會刷新到redo log里面,再下次啟動mysql的時候恢復;

默認設置為1,可以通過 set  global innodb_fast_shutdown=0 語句進行設置,建議設置為0或者1。

3、操作前備份

mysqldump -u root -p db-mcms-open > D:\backup20210106.sql

在cmd中通過語句輸入密碼進行數據庫備份。

QQ截圖20210106105217

數據備份后,對原始的Mysql安裝包也進行備份,以防萬一。

4、停止服務

QQ截圖20210106105352

右鍵停止服務即可。

5、文件替換

將下載的最新安裝包解壓,並覆蓋已安裝版本,選擇文件夾合並以及文件覆蓋(新的包里面沒有data文件夾以及my.ini配置文件)。

6、同第四步操作,啟動服務即可

7、通過第二步語句進行版本驗證以及數據庫登錄、應用等驗證工作。

至此,整個升級完畢,個人升級比較順利,過程中並未遇到什么問題,而且升級后進行了應用等驗證,均無問題。


免責聲明!

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



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