還沒有升級MySQL版本到8.0+的朋友,是時候提起精神來了!因為接下來,相信不久就會面對“要不要進行老項目改造和遷移”之類的、“飽和式KPI”靈魂拷問。
還有不滿三周的時間,MySQL5.7就要終結生命周期,光榮退休了。不止開發者們,就連云廠商們在最近幾個月以來也紛紛推出了相繼的應對策略。
MySQL5.7將于兩周后迎來“終結”,MySQL8.0將于2026年4月終結。
來源:endoflife.date
1、各大廠商紛紛出招
首先,先看看Oracle怎么講。Oracle通知10月將終止MySQL5.7的支持。
MySQL 系列發布及EOL時間 圖源:Oracle
根據Oracle官網發布的博客,在接下來的幾年里,MySQL版本控制將類似于下面的示例圖。
來源:Oracle 官網
文章中解釋道,Oracle 為 MySQL 提供了兩個版本流: 創新版本和LTS版本。
創新版本類似于 MySQL 8.0 持續開發模型 (< 8.0.34),包括錯誤修復、安全補丁和新功能。對創新版本的支持僅限于下一個次要版本(創新或 LTS)。創新版本中的補丁發布是可能的,但發生的可能性較小。創新版本具有生產級質量,可以在生產環境中安全使用。
LTS 版本具有 5 年優先支持和 3 年擴展支持,與之前支持的版本相同。主要發布周期的最后一個版本將被指定為 LTS。(8.0 除外)。只能在第一個 LTS 版本(例如 8.4.0 LTS)中刪除(和添加)功能,而以后則不能。
8.1 是第一個創新版本,8.0.34+ (LTS) 已過渡為僅修復錯誤,直到 2026 年 4 月 8.0 生命周期結束 (EOL)。2024 年 7 月左右,最后一個 8.x 版本最終將成為 LTS讓用戶從 8.0.x 遷移到 8.x LTS 版本。
未來的發布節奏已經公開:
- 創新發布可能會每季度發布一次。
- 大約每 2 年就會發布一個新的長期支持版本。8.x LTS 版本是一個例外,它將在 8.0 EOL 之前發布。
當然,Oracle當然是想各位用戶繼續在MySQL的世界里升級打怪了。MySQL5.7反正我不維護了,要么升級到8.0,要么升級到Oracle Database。
其次,來看一下云廠商的動作,按照慣例,自然急忙制定延長服務的時間表了。
云廠商對于各大MySQL版本的支持截止時間 制表:51CTO技術棧
最先跟進的是AWS和Azure。微軟 Azure 將會在 MySQL 5.7 EOL 之后,為其公有云用戶提供延長的服務,最晚到 2025 年9月。
由上圖可以看出,Azure Database for MySQL v5.7 - 靈活服務器的創建將于2024 年 4 月結束。但是注意:某些方案(例如副本創建、時間點恢復以及從 Azure Database for MySQL - 單一服務器或 Azure Database for MariaDB 遷移到 Azure Database for MySQL - 靈活服務器)將允許創建 MySQL 版本5.7 直至延長支持期結束。
而亞馬遜,則除了推出類似的延長服務期之外,還給出了特別延長付費服務。最長可以延期3年到2027年2月底。
圖源:AWS 官網
當然不論是亞馬遜還是微軟,當延長服務期結束后,MySQL 5.7 的去向也是一樣的:要么升級到 MySQL 8,要么遷移到其他數據上吧。
再來看國內廠商,我們從阿里云官網上的通知查詢到了MySQL 5.5和MySQL 5.6 維護截止時間分別為2021年2月28日和2024年2月5日。網上有流傳阿里云 RDS MySQL5.7的維護截止時間是2024年的10月,但這一時間尚未得到官方證實。
同時,騰訊云、華為云方面也沒有得到確切的停止維護的日期和延期服務時間。不過按照以往的慣例,至少也會有一年的延長期。
2、老版本挺“香”,不換!有的公司甚至不知情
在全球關系型數據庫市場中,MySQL 市場份額最高,達到 43.04%,排名第二的 Oracle 僅為16.76%。同時在 Shadowserver Foundation 于 2022 年 5 月份發布的一份全網 MySQL 掃描報告中,MySQL的不同版本份額占比如下:
數據來源:Shadowserver Foundation
MySQL 5.7 占比為 46.7%,同時早在 2021 年 10 月份就“退伍”的 MySQL 5.6 份額占比仍高達 30%。
也就是說,在一個老版本終結后的半年內,相當一部分企業和用戶仍然沒有及時升級到更新的版本或遷移到其它數據庫上,其中的原因除了沒有注意到終結的消息外,肯定還需要一定的升級和遷移時間和成本。
由此可以類比推測,MySQL 5.7 EOL后,同樣會有很大一部分用戶抓著MySQL 5.7不放手。
此外,不同行業對于此事的反應也是有所不同的,比如在國內的金融行業,大多數企業考慮遷移到有技術服務保障的國內數據庫。
據調研,在使用 MySQL 開源數據庫的金融企業中,MySQL 5.7 版本應用較廣。所有部署 MySQL 的金融企業中,近六成企業選擇 MySQL 5.7 版本作為其運行版本,近三成企業使用 MySQL5.7 版本占其 MySQL 總部署量的 80% 以上。
上述報告指出,71% 的企業已知曉 MySQL5.7 版本生命周期結束事件,其中88% 的企業已做出應對方案。所有應對方案中,超五成企業希望遷移到國內數據庫,另有約三分之?企業將遷移到 MySQL8.0 版本。
而在電信行業,一部分企業甚至不知道 MySQL 5.7 EOL 的情況。部分企業表示將繼續使用 MySQL5.7 版本。選擇替代 MySQL5.7 時,遷移難度、改造成本與兼容性是電信企業考慮的重要因素。
競技世界數據庫專家、dbaplus 社群聯合發起人楊建榮在知乎的帖子上公開了一份 2022 年調查的 MySQL5.7 使用情況,同樣可以看出 9 家采用MySQL 5.7 的公司,7 家“暫無計劃”,只有兩家“準備大規模升級”。
來源:知乎
3、為什么不愿意不升級/改造MySQL?
MySQL5.7 版本生命周期即將結束,由于缺少后續的開源社區技術支持,安全漏洞的修補維護也意味著停更,既然有著如此重要的風險擺在眼前,為何還會有這么多人不愿意升級/改造 MySQL 呢?
因為太難了,零故障、平滑/無感升級的成本極高。僅僅是版本升級,就會遇到下面這些問題需要多個部門協調解決。
來源:知乎
事實上,對于版本升級或者遷移改造而言,企業的決策者向來是有所審慎的。9月 21 日,由中國信通院上發布的《開源數據庫生態發展研究報告》中也有提到替換 MySQL 5.7 時的顧慮點:
- 超過 70% 的企業在選擇 MySQL 5.7 替代數據庫時會考慮產品遷移難度與改造成本。
- 超 50% 的企業會考慮遷移數據庫的可靠性、可?性與可服務性。
- 此外,數據庫安全性、兼容性與產品性能等也是企業選擇替代數據庫時的重要考慮因素。相關主管部?的政策也會影響企業對替代數據庫進?進?步選擇。
整體上看,這是一個關于“安全風險和改造成本如何取舍”的應用題。
4、寫在最后:誰能動MySQL的蛋糕
2013年4月,MySQL5.7發布以來,在并行控制、并行復制等方面進行了大量的優化調整,5.7 版本正式 GA 于 2015 年 10 月份,這是 MySQL 到目前為止較為穩定的版本分支。
正是由于其良好的穩定性,許多企業已經使用其部署業務架構超過 10 年。
源:知乎
此次生命周期的停止,給技術決策者們留下很多選項:升級到 Oracle 寄予厚望的 MySQL 8,還是切換到一向嫌棄 MySQL 被收購后失去開源味道的MariaDB,后者徹底換到 PostgreSQL 或其他數據庫?還是干脆托管給云數據庫?又或者自研?
雖說這些可能看起來很多,但往往留給不同企業不同業務場景可選的并不多。
從這個角度上看,MySQL 5.7 不僅生得燦爛,而且死得絢爛,它給了許多企業重新思考和選擇數據庫選型的機會,一個讓其他數據庫搶占市場,完善性能,壯大自己的機會。