GitHub是怎樣把MySQL 5.7升級到8.0的?

qing_yun發表於2024-04-12

去年(2023年10月25日),隨著MySQL 5.7.44釋出,宣告5.7正式停止開發和維護。

而不少企業選擇把MySQL 5.7升級到8.0。

那麼你所在的公司,現在使用了哪些MySQL版本呢?

GitHub也在去年把MySQL升級到了8.0。

他們分享了詳細的升級過程,以及遇到的一些問題,地址如下:

https://github.blog/2023-12-07-upgrading-github-com-to-mysql-8-0/

我們就來總結一下大致步驟。

第一步

先升級部分副本,然後將部分只讀流量切上去,也會保留足夠的5.7副本,以方便回滾

第二步

如果只讀流量經過8.0的驗證,沒問題,就調整複製拓撲為下圖形式

一個8.0的候選,直接接在5.7主庫後面

8.0的從庫下游又建立兩個複製鏈

一部分是5.7的從(暫時不提供查詢,用來做回滾用的)

另外一部分是8.0的從,用來承擔只讀查詢。

第三步

透過Orchestrator,執行failover將上圖MySQL 8.0的從庫提升為主。

這個時候,拓撲變成了一個8.0的主,它下游附帶了兩個複製鏈組:

一部分是5.7的從(暫時不提供查詢,用來做回滾用的)。

另外一部分是8.0的從,用來承擔只讀查詢。

並且Orchestrator還把5.7的主機列為故障轉移的黑名單,防止發生切換的時候,又出現5.7的例項提升為主的情況。

第四步

升級其他用於備份或者非生產的例項

第五步

如果在8.0的版本下執行了足夠長的時間(至少24小時),則把叢集內5.7版本的MySQL全刪除。

那麼,你現在所在的公司,線上環境使用的是哪些MySQL版本呢?

來自 “ MySQL資料庫聯盟 ”, 原文作者:MySQL資料庫聯盟;原文連結:https://mp.weixin.qq.com/s/hURO4a-1-x-Uel7_fcy48g,如有侵權,請聯絡管理員刪除。

相關文章