mysql大庫 公升級 MySQL資料庫公升級

2021-10-17 21:21:25 字數 2497 閱讀 2067

當前不少系統的資料庫依舊是mysql5.6,由於mysql5.7及mysql8.0在效能及安全方面有著很大的提公升,因此需要公升級資料庫。本文通過邏輯方式、物理方式原地公升級來介紹mysql5.6 公升級至mysql5.7的方法,並介紹其使用場景。

1.  邏輯方式公升級

邏輯方式公升級其實就是通過邏輯備份工具(例如mysqldump工具)將資料庫、表、其他相關物件及資料邏輯備份成sql指令碼,再將其還原至mysql5.7的例項中。

詳細步驟如下:

1.1  備份資料庫

當前資料庫的版本為mysql5.6.27,現在準備備份

備份指令碼:

/*備份所有庫及相關物件*/

1.2  部署一套mysql5.7例項

安裝過程比較簡單,本文不再贅述。

1.3  資料匯入mysql5.7

將備份的mysql5.6的資料匯入到mysql5.7 中即可。

1.4 應用場景

資料量小的情況下使用,此方式通常不會失敗

在跨大版本公升級的時候使用較多,例如,從mysql5.6(或更低版本)直接公升級到8.0版本

不同mysql分支之間公升級

2.  mysql_update方式公升級

使用mysql_update方式公升級時,時間相對較快,尤其是資料庫體量較大時,此方式可以原地直接公升級。

步驟如下:

2.2  修改配置檔案

因mysql5.6 的部分引數再mysql5.7 中已經廢棄或者預設值發生變化,另外也為了使用mysql5.7的新特性,需要新增對應的引數配置,例如:

sql_mode=strict_trans_tables,no_engine_substitution   # 保持和mysql5.6一致

innodb_large_prefix =off                                         # 保持和mysql5.6 一致

log_timestamps=system            # 新增引數,如果不新增,預設日誌裡採用utc時間格式記錄,我們看上去可能不太方便

secure_file_priv=/tmp                  # mysql5.7對安全性做了很多提公升,此引數不配置的話預設無法使用load file 及elect …outfile等

character_set_server= utf8         # 雖然建議使用utf8mb4字符集,但是如果需要保持和原庫一致,需要指定

2.3 關閉mysql5.6 例項

mysql5.6的關閉可以使用停止服務的方式,也可以通過命令列方式,命令如下:

/*mysql5.6 關閉例項的方式需要使用mysqladmin*/

建議: 生產環境中,如果可以使用此方式公升級,強烈建議先直接冷備一下整個資料庫的資料目錄,已防止公升級失敗等情況出現。

2.4  使用mysql5.7 啟動原庫

此時需要用mysql5.7來啟動資料庫,啟動後日誌裡會有一些報錯資訊。

啟動資料庫

日誌裡內容如下,出現很多錯誤,其中也提示到需要使用mysql_upgrade進行修復:

2.5  公升級資料庫

mysql公升級工具是mysql_upgrade,錯誤日誌裡也提到了使用mysql_upgrade進行修復相應的錯誤。公升級的方法如下:

/*公升級系統庫及業務庫*/

如果只需要公升級系統庫,則加-s引數; 如果公升級過程中有錯誤或者中斷後想再次公升級 可以新增--force引數強制公升級

/*只公升級系統庫*/

2.6 後續工作

公升級完成後建議再進行以下工作

重啟資料庫,以便所有功能生效;且重啟後再次檢視資料庫日誌

修改環境變數及軟連線,以便預設使用mysql5.7的相關命令

附: 公升級後資料庫啟動日誌

2.7  使用場景

相同大版本之間的小版本公升級

資料量較大,提前測試過兩個版本之間可以原地公升級時再用。

3.  小結

mysql的邏輯公升級及mysql_upgrade的原地公升級都有各自的應用場景。但是無論用哪種方式,都要注意以下幾點:

a)   在生產環境上進行公升級操作之前一定需要先在測試環境中多次進行相同版本的公升級測試工作;

b) 實際工作中,測試環境公升級成功後需要經過相關業務的回歸測試,確保相關功能公升級後能正常使用後再在生產環境進行公升級,建議測試環境進行1個月以上的測試

c)   生產環境公升級前一定要進行備份

d)   生產環境的公升級順序建議是先公升級從節點,再公升級主節點或進行主從切換

ftp公升級mysql 手工公升級mysql資料庫方法

公升級mysql資料庫其實我們大多數都是手工了,也就是否半智慧型的哦,下面來看一篇在linux中手工公升級mysql資料庫方法,具體的步驟如下。最近工作上有個需求,需要將 ubuntu 14.04 下的 mysql 從 5.5 版本公升級到 5.7,可以選擇 apt get 安裝,不過需要更新系統或...

阿里雲 mysql公升級 mysql公升級資料庫

mysql公升級資料庫 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等公共...

mysql怎麼公升級 mysql怎麼公升級

mysql公升級的實質 對資料字典的公升級 資料字典有 mysql information schema performance schema sys schema。mysql公升級的兩種方式 in place upgrade 適合小版本的公升級。即 關閉當前的mysql,替換當前的二進位制檔案或包...