去年(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版本呢?