Mysql

生產環境下的 MySQL 升級流程

  • June 23, 2021

我是這個角色的新手,雇主要求我制定一個計劃,將生產伺服器上的 MySQL 5.6 升級到 5.7。它有分區和 MASTER-MASTER 複製設置,並且有大約 10TB 的數據。我在網際網路上找不到合適的文件。你們能幫忙嗎?

提前致謝。

考慮這些墊腳石:

5.6M <-> 5.6M  (now)
5.6M <-> 5.6M -> 5.7S  (This will flesh out new reserved words, etc)
Revise code (see below)
5.6M <-> 5.6M -> 5.7S  -> 5.7S  (further test)
                5.7M  -> 5.7S  (move IP addresses or whatever)
                5.7M <-> 5.7M  (re-establish dual-Primary)

注意:這需要購買 2 台新機器——從而允許同時升級硬體/作業系統。然後可以回收/重新利用/捐贈這對舊機器。

“修改程式碼”——一些不兼容問題最好通過更改應用程式碼來處理。例如,在 5.6 中已棄用並在 5.7 中刪除的內容可以在您的程式碼中“修復”。然後,您可以執行修改後的 5.6 設置來驗證事情,然後再返回 5.7 升級。

請注意,下一次升級(到 8.0)將是更大的一步。我建議您在完成此升級後立即開始計劃。

還要記住遷移到 MariaDB 的可能性,可選擇使用 Galera(而不是雙主數據庫)。

從評論轉換:

作為第一步,最好使用 VM 測試升級過程。如果無法輕鬆實現,那麼升級開發或 UAT 環境將讓您了解可能會中斷的內容、可能會棄用的內容以及某些查詢、過程、觸發器等可能發生的情況 - matigo

備份 備份備份並緊急查看https://dev.mysql.com/doc/refman/5.7/en/replication-upgrade.html 因為它在刪除複製和分區後是兩台伺服器的正常升級,但仍然這樣做在新硬體上,以便您的系統在所有問題下都能執行 - nbk

引用自:https://dba.stackexchange.com/questions/294557