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

1、環境說明html

操做系統:Windows Server2008 R2mysql

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

2、升級緣由

升級是由於測評漏洞,在進行國家三級等級保護測評過程當中,漏掃發現多個MySql漏洞。數據庫

image

image

一共包含3個高危漏洞以及約50個高危漏洞,通過總體整改建議查看,須要升級到8.0.20版本後能夠解決相關漏洞,所以評估對版本進行升級,發現最新版本的爲8.0.22版本,直接一步到位,升級到最新版。windows

3、升級方法測試

查了相關資料,MySql升級從8.0.16是一個分水嶺,在該版本先後的升級方法有所不一樣,8.0.16版本以後升級方法大大簡化。剛好我這裏是8.0.16版本後的,暗自慶幸一下。操作系統

網上大部分資料都是介紹8.0.16以前的版本升級,8.0.16後的版本升級資料很少,我這裏是直接按照官方文檔進行的升級操做,簡單的大概分爲三步便可【停服務】—>【文件覆蓋】—>【啓服務】(像不像把大象放進冰箱裏面的操做,只要三步,打開冰箱—>放進大象—>關上冰箱(* ̄︶ ̄))。htm

下面來介紹一下具體的操做:blog

官方升級文檔參考:ip

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

image

image

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

一、下載最新的安裝包,我這裏使用的是解壓包的方式,因此下載的爲ZIP格式文件(使用exe升級的方式大同小異,能夠一樣參考官方文檔進行操做);

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

image

二、查看已安裝Mysql的版本

能夠經過  SELECT VERSION(); 語句查看;

SELECT VERSION();

QQ截圖20210106094732

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

MYSQL -V

QQ截圖20210106094952

三、中止服務前肯定數據庫的引擎類型以及服務重啓方式。

查看數據庫默認引擎類型

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。

三、操做前備份

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

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

QQ截圖20210106105217

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

四、中止服務

QQ截圖20210106105352

右鍵中止服務便可。

五、文件替換

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

六、同第四步操做,啓動服務便可

七、經過第二步語句進行版本驗證以及數據庫登陸、應用等驗證工做。

至此,整個升級完畢,我的升級比較順利,過程當中並未遇到什麼問題,並且升級後進行了應用等驗證,均無問題。

相關文章
相關標籤/搜索