1 引子
在 Oracle,我們不斷尋找方法來改進(jìn)產(chǎn)品,以更好地滿足您的需求。我們很高興地推出MySQL 創(chuàng)新版(Innovation)和長(zhǎng)期支持版(LTS,Long-Term Support),這是 MySQL 版本模型中的一個(gè)重要改進(jìn)。
MySQL 5.7 及之前版本的補(bǔ)丁版本主要致力于錯(cuò)誤修復(fù)和安全補(bǔ)丁。這在 MySQL 8.0 的持續(xù)交付模型中發(fā)生了變化,補(bǔ)丁版本也包含了新特性。這使得 MySQL 能夠更頻繁地向用戶發(fā)布新特性,而不僅僅是每隔幾年才能發(fā)布一次特性。但是,我們理解這種方法可能會(huì)給那些只需要關(guān)鍵補(bǔ)丁和較少行為變更的項(xiàng)目和應(yīng)用帶來挑戰(zhàn)。我們傾聽了您的反饋并觀察了行業(yè)趨勢(shì),現(xiàn)在我們正在過渡到一個(gè)版本模型,您可以在創(chuàng)新版(Innovation)和長(zhǎng)期支持版(LTS)之間進(jìn)行選擇。
創(chuàng)新版和 LTS 版的質(zhì)量都是生產(chǎn)級(jí)的。如果您渴望訪問最新的功能和改進(jìn),并喜歡與最新技術(shù)保持同步,那么 MySQL 創(chuàng)新版本可能最適合您。該版本非常適合在快節(jié)奏的開發(fā)環(huán)境中工作的開發(fā)人員和 DBA,其中有高水平的自動(dòng)化測(cè)試和現(xiàn)代的持續(xù)集成技術(shù),可以實(shí)現(xiàn)更快的升級(jí)周期。另一方面,如果您的環(huán)境需要繼續(xù)保持已經(jīng)固定的行為,那么 LTS 版本就是您的不二之選。這些版本僅包含必要的修復(fù),因此可以減少數(shù)據(jù)庫軟件行為變更帶來的風(fēng)險(xiǎn)。
通過新的 MySQL 版本模型,您可以靈活地選擇適合您特定應(yīng)用和環(huán)境需求的選項(xiàng)。我們的目標(biāo)是確保您在創(chuàng)新版和 LTS 版中都能獲得卓越的用戶體驗(yàn)。您可以在下面了解有關(guān)新版本模型和過渡過程的更多信息。
2 新的 MySQL 版本模型
過渡到創(chuàng)新版和 LTS 版
我們即將推出的新版本將過渡到新的 MySQL 版本模型。MySQL 8.1.0 將是我們的第一個(gè)創(chuàng)新版本,8.0.34+ 將只進(jìn)行錯(cuò)誤修復(fù),直到 8.0 生命周期結(jié)束(EOL,定于 2026 年 4 月)。大約一年后,MySQL 8.x 版本最終將成為 LTS,這將為用戶從 8.0.x 遷移到 8.x LTS 版本提供充足的時(shí)間。
在實(shí)踐中,在這段過渡期間,如果您想要 MySQL 數(shù)據(jù)庫的最新功能、改進(jìn)和所有錯(cuò)誤修復(fù),請(qǐng)使用創(chuàng)新版本(例如 8.1.x、8.2.x、8.3.x 等)。如果您的 MySQL 只需要錯(cuò)誤修復(fù),請(qǐng)使用 8.0.x 版本(例如 8.0.35、8.0.36、8.0.37 等)。在這兩種情況下,建議您都根據(jù) Oracle 關(guān)鍵補(bǔ)丁更新(CPU)日歷每季度更新 MySQL 數(shù)據(jù)庫。當(dāng) 8.x 成為 LTS 時(shí),您可以從修復(fù)版本(例如 8.0.37)規(guī)劃、測(cè)試和遷移到 LTS 版本(例如 8.4.1)。
MySQL HeatWave 服務(wù)
MySQL HeatWave 服務(wù)由 Oracle 的 MySQL 團(tuán)隊(duì)進(jìn)行全面管理、開發(fā)和支持。我們通過最新版本的 MySQL 提供最新改進(jìn)和安全補(bǔ)丁。MySQL HeatWave 用戶能從第 1 天開始訪問錯(cuò)誤修復(fù),以及最新的功能,包括 OLTP、OLAP、機(jī)器學(xué)習(xí)和 Lakehouse。
MySQL HeatWave 用戶現(xiàn)在可以選擇創(chuàng)新版本,從 8.1.0 開始,以及錯(cuò)誤修復(fù)版本,從 8.0.34 開始。該服務(wù)為每個(gè)數(shù)據(jù)庫系統(tǒng)選擇 MySQL 版本提供了靈活性,使用戶可以根據(jù)應(yīng)用程序要求混合匹配版本。使用 8.1+ 創(chuàng)新版本的用戶可以充分利用該服務(wù)的潛力,訪問最新功能和錯(cuò)誤修復(fù)。另一方面,那些只需要關(guān)鍵錯(cuò)誤修復(fù)且不需要最新功能的用戶可以為其 MySQL 數(shù)據(jù)庫選擇 8.0.x 版本。
MySQL 產(chǎn)品組合和支持生命周期
LTS 版本將遵循Oracle 終身支持政策[1],包括 5 年的首要支持和 3 年的延長(zhǎng)支持。創(chuàng)新版本將支持到下一個(gè)主要和次要版本。
MySQL 產(chǎn)品組合中的大多數(shù)產(chǎn)品將具有創(chuàng)新版和 LTS 版:
MySQL Server、MySQL Shell、MySQL Router、MySQL NDB 集群將具有創(chuàng)新版和 LTS 版。
用于 Kubernetes 的 MySQL Operator,帶有 InnoDB ReplicaSet、Cluster和 ClusterSet 將具有創(chuàng)新版和 LTS 版。
MySQL 連接器將使用最新版本,但將被視為通用可用,并與所有支持的 MySQL 服務(wù)器版本兼容。
MySQL Workbench 將保留在 8.0.x,通??捎貌⑴c所有支持的 MySQL 服務(wù)器版本兼容。
MySQL 版本發(fā)布節(jié)奏
8.0.34+ 僅為錯(cuò)誤修復(fù)版本(紅色)
創(chuàng)新版本(灰色)可能每季度發(fā)布一次
大約每 2 年發(fā)布一個(gè)新的 LTS 版本(藍(lán)色)。8.x LTS 版本的發(fā)布是一個(gè)例外,它將遠(yuǎn)早于 8.0 的 EOL。
在未來幾年,MySQL 版本將類似于下圖所示:
注意:這僅是一個(gè)示例,沒有承諾版本編號(hào)將嚴(yán)格按照該呈現(xiàn)的方式。
創(chuàng)新版本
創(chuàng)新版本類似于 MySQL 8.0 持續(xù)開發(fā)模型(< 8.0.34),包括錯(cuò)誤修復(fù)、安全補(bǔ)丁和新功能。
對(duì)創(chuàng)新版本的支持限于下一個(gè)次要版本(創(chuàng)新或 LTS)。當(dāng)前的周期目標(biāo)是每季度發(fā)布一個(gè)創(chuàng)新版本,遞增次要版本號(hào)(例如 8.2、8.3 等)。創(chuàng)新版本內(nèi)的補(bǔ)丁版本是可能的,但不太可能發(fā)生。
創(chuàng)新版本也將是通??捎玫模ㄗh用于生產(chǎn)環(huán)境中。錯(cuò)誤修復(fù)和安全補(bǔ)丁通常會(huì)包含在下一個(gè)創(chuàng)新版本或 LTS 版本中,而不是作為該創(chuàng)新版本內(nèi)補(bǔ)丁版本的一部分。在使用創(chuàng)新版本時(shí),定期升級(jí)到最新的創(chuàng)新版本以跟上最新的錯(cuò)誤修復(fù)和安全補(bǔ)丁是必要的。
除了錯(cuò)誤修復(fù)、安全補(bǔ)丁和新功能,創(chuàng)新版本還將引入新的棄用功能、刪除功能甚至行為更改。為了減少在引入這些更改時(shí)升級(jí)的風(fēng)險(xiǎn)和復(fù)雜性,將制定策略和最佳實(shí)踐來規(guī)定何時(shí)以及如何進(jìn)行。
棄用和刪除的功能
在 MySQL 的以前版本中,一個(gè)版本中的棄用功能(例如 5.7)意味著該功能可能會(huì)在下一個(gè) 主要/次要 版本中被刪除(例如 8.0)。隨著創(chuàng)新版本的引入,將會(huì)有更多的 主要/次要 版本,因此棄用和刪除功能何時(shí)發(fā)生將會(huì)改變。
當(dāng)一個(gè)版本中棄用一個(gè)功能或行為時(shí)(例如 9.2 創(chuàng)新版本),該功能至少不能在一年內(nèi)被刪除(直到 9.6 創(chuàng)新版本)。這是為了給使用創(chuàng)新版本的用戶修改數(shù)據(jù)庫部署時(shí)間。
注意:LTS 版本中不會(huì)有任何刪除。只有在第一個(gè) LTS 版本(例如 8.4.0 LTS)中才能添加和刪除功能,之后不能再刪除。
在我們過渡到新模型并邁向第一個(gè) 8.x LTS 版本的過程中,預(yù)計(jì)會(huì)增加棄用和刪除的數(shù)量。
行為更改
除了創(chuàng)新版本中的新功能,隨著代碼被重構(gòu)或 MySQL 被修改以更符合 SQL 標(biāo)準(zhǔn)的行為(這在 LTS 版本中不會(huì)發(fā)生),也期望會(huì)有行為更改。
行為更改可能會(huì)產(chǎn)生很大影響,特別是在處理任何與應(yīng)用程序相關(guān)的事項(xiàng)時(shí),比如 SQL 語法、新增保留字、查詢執(zhí)行甚至查詢性能。行為更改可能需要應(yīng)用程序更改,這對(duì)我們的用戶來說可能需要相當(dāng)大的努力才能遷移。
除了記錄每個(gè)行為更改外,重要的是我們的用戶能夠使用必要的工具和配置設(shè)置,以便于版本之間的升級(jí)和降級(jí)。根據(jù)行為更改的類型,將使用不同的方法。隨著我們引入此類更改,將提供更多細(xì)節(jié)。
長(zhǎng)期支持版本
大約每 2 年,一個(gè)次要版本將被指定為長(zhǎng)期支持版本。這個(gè)版本將擁有 5 年的首要支持和 3 年的延長(zhǎng)支持,與以前支持的版本相同。這類似于 MySQL 5.7 及更早版本。
LTS 也將是該主要版本的最后一個(gè)版本。下一個(gè)創(chuàng)新版本將增加主要版本號(hào)。例如,如果 MySQL 8.4.0 是 8.x LTS 版本,那么 MySQL 9.0 將是下一個(gè)創(chuàng)新版本。
升級(jí)和降級(jí)
隨著主要和次要?jiǎng)?chuàng)新版本的頻率增加,以及每 2 年的 LTS 版本,用戶將有更多受支持的版本可供選擇。成為創(chuàng)新系列的采用者將需要頻繁的更新以跟上錯(cuò)誤修復(fù)和安全補(bǔ)丁,這需要升級(jí)和降級(jí)策略。
讓我們更深入地看看各種支持的升級(jí)和降級(jí)方案。
LTS 版本內(nèi)的升級(jí)和降級(jí)
在 LTS 版本內(nèi),功能保持不變,數(shù)據(jù)格式也不會(huì)改變。
因此:
就地升級(jí)和降級(jí)是可能的。與 MySQL 8.0.x 版本(< 8.0.34)相比,這是一個(gè)改進(jìn),因?yàn)榻导?jí)是不可能的,并且不建議跳過版本進(jìn)行升級(jí)。
InnoDB CLONE 在 LTS 版本內(nèi)都支持升級(jí)和降級(jí)。
完全過渡到這一點(diǎn)還需要一些工作,這將在 8.0.34 之后的版本中完成。
兩個(gè) LTS 版本之間的升級(jí)和降級(jí)
可以從一個(gè) LTS 版本遷移到下一個(gè) LTS 版本,而無需執(zhí)行多個(gè)中間創(chuàng)新版本的升級(jí)步驟。
可以通過就地升級(jí)、MySQL Shell 導(dǎo)出和導(dǎo)入以及 MySQL 異步復(fù)制進(jìn)行升級(jí)。
僅為了回滾正在進(jìn)行的升級(jí),可以通過 MySQL Shell 導(dǎo)出和導(dǎo)入以及 MySQL 復(fù)制進(jìn)行降級(jí),詳見下文。
創(chuàng)新版本之間的升級(jí)和降級(jí)
支持從一個(gè)創(chuàng)新版本或 LTS 版本就地升級(jí)到未來的創(chuàng)新版本,直到下一個(gè) LTS 版本。復(fù)制和導(dǎo)出導(dǎo)入也可以實(shí)現(xiàn)。
降級(jí)將需要邏輯導(dǎo)出和導(dǎo)入。這與 MySQL 8.0.x(< 8.0.34)類似。
使用MySQL異步復(fù)制進(jìn)行升級(jí)和降級(jí)
在業(yè)務(wù)關(guān)鍵環(huán)境中,升級(jí)通常使用 MySQL 異步復(fù)制完成,其中新版本環(huán)境被設(shè)置為當(dāng)前版本的從庫。這允許近零停機(jī)時(shí)間的升級(jí)。
可以從 LTS 版本或創(chuàng)新版本異步復(fù)制到:
下一個(gè) LTS 版本。
任何未來的創(chuàng)新版本,直到下一個(gè) LTS 版本(LTS 8.4 → LTS 9.7,但不是 LTS 8.4 → LTS 10.7)。
如果在提升新版本后出現(xiàn)任何問題,支持回到前一個(gè)版本非常重要。因此,MySQL 異步復(fù)制將能夠復(fù)制到前一個(gè)版本。此支持僅用于回滾目的,其中尚未使用新功能,不應(yīng)視為持續(xù)生產(chǎn)部署的一部分。
升級(jí)和降級(jí)的支持
以下是各種支持的升級(jí)和降級(jí)方法的概述:
升級(jí)
就地 | 克隆 | 異步復(fù)制 | 導(dǎo)出/導(dǎo)入 | |
---|---|---|---|---|
LTS 8.4 → LTS 9.7 | ? | ? | ? | ? |
LTS 8.4.11 → LTS 8.4.20 | ? | ? | ? | ? |
Innovation 8.1 → 8.2 | ? | ? | ? | ? |
Innovation 8.1 → 8.3 | ? | ? | ? | ? |
Innovation 9.1 → LTS 9.7 | ? | ? | ? | ? |
LTS 8.4 → LTS 10.7 | ? | ? | ? | ? |
降級(jí)
就地 | 克隆 | 異步復(fù)制 | 導(dǎo)出/導(dǎo)入 | |
---|---|---|---|---|
LTS 8.4.20 → 8.4.11 | ? | ? | ? | ? |
LTS 9.7 → LTS 8.4 | ? | ? | ?? | ?? |
LTS 9.7 → Innovation 9.6 | ? | ? | ?? | ?? |
LTS 9.7 → Innovation 9.5 | ? | ? | ?? | ?? |
(?) 表示支持僅限于回滾目的。
3 總結(jié)
在我們過渡到這個(gè)新模型的過程中,歡迎你通過我們的社區(qū)渠道[2]和支持團(tuán)隊(duì)[3]進(jìn)行交流。
你可以在mysql.com/downloads[4]上下載最新的 MySQL 版本,或者在http://edelivery.oracle.com/[5]上的 Oracle 軟件交付云下載 MySQL 企業(yè)版二進(jìn)制文件。
有關(guān)每個(gè)版本的詳細(xì)信息,包括新功能、改進(jìn)、錯(cuò)誤修復(fù)和可能的重大更改,請(qǐng)查看MySQL 版本說明[6]。
我們對(duì)這個(gè)新版本模型帶來的機(jī)會(huì)感到激動(dòng),并熱切期待您的反饋。讓我們一起努力使 MySQL 變得更好。
審核編輯:劉清
-
Oracle
+關(guān)注
關(guān)注
2文章
286瀏覽量
35086 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132312 -
DBA
+關(guān)注
關(guān)注
0文章
18瀏覽量
7867 -
MYSQL數(shù)據(jù)庫
+關(guān)注
關(guān)注
0文章
95瀏覽量
9375 -
Shell
+關(guān)注
關(guān)注
1文章
363瀏覽量
23257
原文標(biāo)題:一文了解MySQL全新版本模型
文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論