上個(gè)月,信通院下屬的云計(jì)算開(kāi)源產(chǎn)業(yè)聯(lián)盟發(fā)布了一個(gè)關(guān)于MySQL數(shù)據(jù)庫(kù)開(kāi)源生態(tài)的研究報(bào)告《開(kāi)源數(shù)據(jù)庫(kù)生態(tài)發(fā)展研究報(bào)告-MySQL開(kāi)源數(shù)據(jù)庫(kù)》,其中提到了在10月份MySQL社區(qū)將會(huì)發(fā)生一件大事--MySQL 5.7將會(huì)于2023年10月21日結(jié)束服務(wù)期(EOL)。
MySQL目前已經(jīng)成為中國(guó)用戶(hù)使用最廣泛的開(kāi)源數(shù)據(jù)庫(kù),其中5.7版本的用戶(hù)的比重又是最高的,因此MySQL 5.7 EOL事件會(huì)影響到很多MySQL用戶(hù)。
根據(jù)報(bào)告中的統(tǒng)計(jì)數(shù)字,MySQL 5.7用戶(hù)占比在國(guó)內(nèi)高達(dá)47%。屆時(shí)這些用戶(hù)將會(huì)面臨選擇,如何應(yīng)對(duì)EOL事件。實(shí)際上2020年的時(shí)候就有一些機(jī)構(gòu)提醒用戶(hù),MySQL 5.7按照生命周期將于2023年到達(dá)服務(wù)期限,當(dāng)時(shí)這件事還在MySQL社區(qū)和DBA圈子里引發(fā)過(guò)一些關(guān)于開(kāi)源項(xiàng)目安全性的討論。3年后,這個(gè)狼來(lái)了的問(wèn)題,終于正式要面對(duì)我們了。
實(shí)際上數(shù)據(jù)庫(kù)EOL的問(wèn)題并不是在MySQL 5.7上第一次出現(xiàn),Oracle用戶(hù)都很清楚每個(gè)版本EOL的時(shí)間表。只不過(guò)Oracle官方依然會(huì)對(duì)付費(fèi)用戶(hù)提供延長(zhǎng)期服務(wù),還會(huì)在數(shù)年時(shí)間里繼續(xù)為這些用戶(hù)發(fā)布安全補(bǔ)丁包,因此EOL的Oracle版本依然可以通過(guò)各種渠道找到安全補(bǔ)丁包。而作為開(kāi)源數(shù)據(jù)庫(kù)的MySQL,EOL就意味著開(kāi)源社區(qū)不再提供安全與功能方面的補(bǔ)丁升級(jí)了。
面對(duì)MySQL 5.7 EOL這個(gè)事件,percona官方宣布了付費(fèi)支持的計(jì)劃,在EOL之后的三年內(nèi),percona會(huì)為需要服務(wù)的客戶(hù)提供收費(fèi)服務(wù)支持。不過(guò)支持的力度如何,是否承諾對(duì)安全問(wèn)題發(fā)布補(bǔ)丁不得而知。
MariaDB一貫的對(duì)MySQL持有敵意,他們希望MySQL 5.7用戶(hù)不要升級(jí)MySQL 8了,而是通過(guò)11條簡(jiǎn)單的命令遷移到MariaDB上去。除此之外,一些云廠商也紛紛提出了解決方案。
云廠商則紛紛發(fā)布了延長(zhǎng)服務(wù)的聲明,微軟Azure將會(huì)在MySQL 5.7 EOL之后,為其公有云用戶(hù)提供延長(zhǎng)的服務(wù),由Azure官方提供支持,最晚到2025年。
類(lèi)似情況,亞馬遜也將為其公有云用戶(hù)提供一年期的支持。不論是亞馬遜還是微軟,當(dāng)延長(zhǎng)服務(wù)期結(jié)束后,MySQL 5.7用戶(hù)將必須強(qiáng)制升級(jí)到MySQL 8或者遷移到其他數(shù)據(jù)庫(kù)上。
面對(duì)這個(gè)問(wèn)題,國(guó)內(nèi)的MySQL生態(tài)的數(shù)據(jù)庫(kù)廠商也紛紛給出了自己的遷移方案,希望吸引這部分用戶(hù)到自己的產(chǎn)品上來(lái)。
面對(duì)MySQL 5.7 EOL這個(gè)事件,我們會(huì)如何面對(duì)呢?最近我也和一些MySQL 5.7用戶(hù)做了一些交流,根據(jù)他們反饋的情況,以及業(yè)內(nèi)對(duì)此問(wèn)題的應(yīng)對(duì)措施,再結(jié)合報(bào)告中反饋的四種情況,我總結(jié)了一下,大致有六種應(yīng)對(duì)措施。
第一條路徑:直接升級(jí)到8.0。做出此選擇的MySQL5.7用戶(hù)占比較高,此類(lèi)用戶(hù)對(duì)此問(wèn)題早已了解,并且在半年前就已經(jīng)開(kāi)始應(yīng)對(duì)工作。MySQL 5.7升級(jí)到8.0不僅僅是更換一個(gè)數(shù)據(jù)庫(kù)版本而已,因?yàn)?.0與5.7在技術(shù)上有較大的差異,CBO優(yōu)化器與SQL引擎都有一定的不同,因此數(shù)據(jù)庫(kù)升級(jí)后應(yīng)用需要做全面的測(cè)試,對(duì)于不夠兼容的部分代碼做一定的修改才能確保順利遷移。因此采用第一種路徑的用戶(hù),需要做一定的提前準(zhǔn)備。
第二條路徑:直接遷移到MySQL兼容的國(guó)產(chǎn)數(shù)據(jù)庫(kù)。有一部分客戶(hù)考慮到信創(chuàng)的問(wèn)題,原本就已經(jīng)計(jì)劃對(duì)數(shù)據(jù)庫(kù)進(jìn)行國(guó)產(chǎn)化替代,準(zhǔn)備一次性到位。如果用國(guó)產(chǎn)數(shù)據(jù)庫(kù)替代,那么可以選擇的路徑也很多,很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)產(chǎn)品就是MySQL生態(tài)產(chǎn)品,比如騰訊TDSQL、萬(wàn)里GreatSQL、中興通訊GoldenDB、Oceanbase、阿里PolarDB-x等。如果不需要使用存儲(chǔ)過(guò)程,還可以考慮TiDB。很多國(guó)產(chǎn)數(shù)據(jù)庫(kù)也有MySQL兼容模式,雖然不能完全兼容MySQL,應(yīng)用做少量的修改也可以遷移過(guò)去。達(dá)夢(mèng)、人大金倉(cāng)、GaussDB等數(shù)據(jù)庫(kù)都有MySQL兼容模式。直接遷移到國(guó)產(chǎn)數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)是從根本上完成數(shù)據(jù)庫(kù)國(guó)產(chǎn)化替代,不過(guò)缺點(diǎn)也很明顯,一方面是遷移需要一定的資金,也需要一定的時(shí)間,另外一方面是國(guó)產(chǎn)數(shù)據(jù)庫(kù)許可證采購(gòu)的總體成本不低。
第三條路徑:遷移到其他MySQL生態(tài)的開(kāi)源產(chǎn)品,比如MariaDB和國(guó)內(nèi)的GreatSQL。向MariaDB遷移的用戶(hù)主要考慮的是擺脫Oracle生態(tài),選擇一個(gè)相對(duì)更加安全的開(kāi)源項(xiàng)目,不過(guò)MariaDB社區(qū)是否足夠安全,也是仁者見(jiàn)仁智者見(jiàn)智。GreatSQL是Percona Server的一個(gè)開(kāi)源分支,也基于GPLV2協(xié)議,代碼托管在國(guó)內(nèi)的gitee上。在保持與Percona Server兼容的基礎(chǔ)上,會(huì)更快速地修復(fù)漏洞,保障用戶(hù)的數(shù)據(jù)安全。隨后GreatSQL開(kāi)源社區(qū)將會(huì)在官網(wǎng)上開(kāi)設(shè)一個(gè)MySQL5.7停服專(zhuān)區(qū),幫助MySQL 5.7的用戶(hù)解決一些停服帶來(lái)的問(wèn)題,為某些暫時(shí)無(wú)法升級(jí)的用戶(hù)提供支撐。隨著軟件供應(yīng)鏈安全方面的需求的不斷加強(qiáng),國(guó)內(nèi)開(kāi)源項(xiàng)目分支的發(fā)展將會(huì)迎來(lái)高速發(fā)展。這條路徑的遷移成本較低,缺點(diǎn)是用戶(hù)目前對(duì)國(guó)內(nèi)的開(kāi)源分支的認(rèn)可度還存在一定問(wèn)題。
第四條路徑:對(duì)于公有云用戶(hù),依托云平臺(tái)再多撐一兩年,在一兩年中再選擇方向。公有云廠商還會(huì)對(duì)MySQL 5.7提供一定時(shí)間的延長(zhǎng)支持。公有云用戶(hù)先觀望一年再選擇穩(wěn)妥的技術(shù)路線(xiàn)的比例是比較高的。這條路線(xiàn)獲得了一定時(shí)間的緩沖區(qū),以便于做出更為科學(xué)的決策,不過(guò)僅僅是過(guò)渡期的臨時(shí)做法。
第五條路徑:換門(mén),從MySQL直接更換數(shù)據(jù)庫(kù)種類(lèi),轉(zhuǎn)投另外一個(gè)開(kāi)源數(shù)據(jù)庫(kù) PG 陣營(yíng)。和攝影界換門(mén)一樣,采取這條路徑是要下大決心的。因?yàn)橐酝膽?yīng)用都要修改,數(shù)據(jù)都要遷移,以往積累的應(yīng)用開(kāi)發(fā)與運(yùn)維經(jīng)驗(yàn)也都要放棄。
第六條路徑:不變,繼續(xù)使用MySQL 5.7。數(shù)據(jù)庫(kù)都是在內(nèi)部使用的,因此把網(wǎng)絡(luò)的安全邊界扎牢,哪怕有安全漏洞,也不升級(jí),不改變,等到應(yīng)用系統(tǒng)升級(jí)的時(shí)候再考慮升級(jí)或者更換數(shù)據(jù)庫(kù)。選擇這條路線(xiàn)的用戶(hù)比例不低,這條路徑成本最低,不過(guò)要承擔(dān)一定的安全風(fēng)險(xiǎn)。采用這條路線(xiàn)的用戶(hù)把安全依托在網(wǎng)絡(luò)安全和邊界安全上,通過(guò)扎緊籬笆來(lái)防止安全事故。
最后要表達(dá)的觀點(diǎn)是,EOL是很多產(chǎn)品都會(huì)面臨的事件,無(wú)需過(guò)度擔(dān)心。不過(guò)數(shù)據(jù)庫(kù)產(chǎn)品的EOL影響面更廣一些,處理起來(lái)也更麻煩一些,特別是MySQL 5.7,對(duì)于一些復(fù)雜一些的系統(tǒng),直接升級(jí)到8.0還是需要做一些驗(yàn)證工作的。作為一個(gè)核心的數(shù)據(jù)資產(chǎn)承載體,沒(méi)有安全補(bǔ)丁處于裸奔狀態(tài)的數(shù)據(jù)庫(kù)也是一個(gè)比較大的隱患。從軟件供應(yīng)鏈安全上看,商用數(shù)據(jù)庫(kù)Oracle在代碼上的安全性要高于MySQL這樣的開(kāi)源數(shù)據(jù)庫(kù),再加上Oracle延長(zhǎng)期服務(wù)依然在出安全補(bǔ)丁,用戶(hù)也可以通過(guò)一些特殊渠道獲得安全補(bǔ)丁。因此相對(duì)于Oracle數(shù)據(jù)庫(kù)的版本EOL,MySQL 的EOL問(wèn)題更受企業(yè)級(jí)用戶(hù)的重視。面對(duì)即將到來(lái)的MySQL 5.7 EOL,IT部門(mén)的領(lǐng)導(dǎo)和DBA哪怕沒(méi)有做什么動(dòng)作,多思考一下也是好的。
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3904瀏覽量
65816 -
MySQL
+關(guān)注
關(guān)注
1文章
849瀏覽量
27599
原文標(biāo)題:聊聊即將到來(lái)的MySQL5.7停服事件
文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
華邦電子2024年度大事件回顧
使用插件將Excel連接到MySQL/MariaDB

MySQL數(shù)據(jù)庫(kù)的安裝

贛鋒鋰業(yè)2024年度精彩回顧
MySQL還能跟上PostgreSQL的步伐嗎

MySQL編碼機(jī)制原理
孫正義:人工超級(jí)智能即將到來(lái),將需投入數(shù)千億美元
適用于MySQL的dbForge架構(gòu)比較

驅(qū)動(dòng)電阻技術(shù)-EAK零電感水冷電阻器-再生制動(dòng)電阻

工業(yè)5.0,人機(jī)協(xié)作的時(shí)代即將到來(lái)
Jtti:MySQL初始化操作如何設(shè)置root密碼
MySQL知識(shí)點(diǎn)匯總

華納云:如何修改MySQL的默認(rèn)端口

NVIDIA CEO黃仁勛在 SIGGRAPH 2024 主題演講中或?qū)⑹状瘟料嘞M(fèi)級(jí)GPU Blackwell

評(píng)論