在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于MySQL8.0版本選型的小技巧

jf_78858299 ? 來源:基礎技術研究 ? 作者:田亮 ? 2023-03-29 13:45 ? 次閱讀

前言:

MySQL 8.0 第一個GA(General Availability)版本(正式、可用于生產的版本)于2018/4/19發布至今已有3年。8.0是一個全新的版本,增加了數百項功能新特性,重構了SQL解析器,在性能和安全性上越來越向商業數據庫靠攏。5.7版本優越的穩定性和性能已經廣泛應用,如今性能、安全性和眾多企業級特性提升讓我們思考是否該使用8.0版本。本文從以下幾個方面來了解一下。

01

官方補丁維護生命周期管理

圖片

如上圖所示,這是oracle官方對軟件產品的生命周期管理,MySQL被收購后也適用于該管理方式。

正如表格中所示,5.6今年就將結束支持,5.7版本在2023年結束其擴展支持,官方將不再發布補丁維護,而8.0的支持將持續到2026年。

建議使用8.0,逐漸累積新版本經驗為后續升級做準備。

02

MySQL8.0 GA 以來bug修復統計

圖片

該表格是8.0版本發布可用于生產的正式版本以來所有bug的修復統計情況。

從表格中可以看出總bug修復數量逐漸收斂中。

我們最為關心的Innodb和復制相關的bug修復也是逐漸穩定下來。

但梳理8.0每個小版本可以發現,每個小版本都會推出許多新功能,這也可能造成小版本之間差異過大和帶來新的穩定性問題。

例如,當時8.0.20發布時,修改了redo格式,導致常用的物理備份工具xtrabackup不支持,兩個月后xtrabackup支持該redo格式,但是這種基礎功能還是需要時間檢驗。

整個8.0主要是對group replication的不斷完善,同時還推出了Innodb Cluster和ReplicaSet 高可用方案,所以如果需要使用MGR請優先選擇8.0。

如果需要用到新特性來解決工作中的痛點:比如hash join、窗口函數以及在線迅速加字段的特性,還有在高并發下性能的提升也是選擇8.0的重要原因。

03

各大金融企業如何選擇8.0版本

圖片

以上表格調研數據來源截止到2021/05/31

目前已經有不少金融機構在8.0上做出嘗試,他們對于版本的選擇是十分謹慎的,一般正式發布一年半之后才開始使用。

大多數版本選擇都是從8.0.18開始,比如某五大行中兩家機構選擇8.0.18入坑,某些股份制銀行則是選擇8.0.18、8.0.20和8.0.21。

大多數的選擇策略均為當時的最新版本,版本集中在8.0.18~8.0.21。

選擇最新的版本會修復前面版本出現的重大bug。

比如,最近5月11日發布了新版本,距離上個版本不到一個月的時間,不太符合常規3個月一個小版本的規律,查看release notes緊急修復3個bug。

以前關于選擇軟件版本都有一個默認規矩,為了規避風險都會選擇次新版本的方案,這也是有一定道理的。

畢竟次新版本出來幾個月了,經過驗證一般不會有重大問題。

但是這個經驗在MySQL8.0 版本選擇上也不是特別是適合,比如當前最新的版本是8.0.25,而選擇次新的8.0.24剛好是有重大問題的。

有人會說使用最新版本新的功能可能會帶來新的穩定性,但是我們常用的功能基本集中在Innodb、復制、分區表、優化器上,只要這些基礎功能沒有重大變化,那么這些基礎功能早期發現的小問題在新的版本基本都會得到修復。

所以,不管是選擇次新還是最新版本都可能遇到問題,關鍵還是關注每個版本的release notes所記錄的修復問題,重大變化和新增功能,是否影響自己使用的功能。

其實我們也可以以公有云廠商采用基于社區版哪個版本來提供的RDS服務作為參考。

如阿里云RDS根據文檔中版本信息是基于社區版8.0.22,華為云文檔中顯示內核基于8.0.20,騰訊云基于8.0.18內核做的優化。

根據市場占有率前三分析,我們選擇的版本至少要大于等于8.0.22。

以下版本在選擇的時候需要注意:

要注意8.0.19這個版本的安全漏洞問題,大家最好避免這個版本以免被安全軟件掃到。

詳情:

https://www.cnvd.org.cn/flaw/show/CNVD-2021-30889

8.0.23版本修復了FTWRL影響其他會話執行show table status,可能影響類似mysqldumper等備份工具,所以需要用到此功能最好大于等于8.0.23。

詳情:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html

基于以上例子,理論上我們應該選擇最新的版本,至少概率上更加穩定,使用開源軟件還是需要多測試多踩坑找到自己的使用邊界。

04

總結

基于以上MySQL官方維護周期,8.0持續到2026年。

MySQL基礎功能關于Innodb引擎和復制的bug修復是逐漸收斂,版本穩定性逐漸加強。

調研眾多金融機構公司,8.0被逐漸使用,更具企業級的功能和安全性得到青睞。

綜上所述,8.0使用沒有問題,如果使用社區版請使用最新的,多關注每個版本的release notes,多做測試。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    764

    瀏覽量

    44133
  • MySQL
    +關注

    關注

    1

    文章

    809

    瀏覽量

    26574
  • BUG
    BUG
    +關注

    關注

    0

    文章

    155

    瀏覽量

    15670
收藏 人收藏

    評論

    相關推薦

    Proteus8.0能仿真Proteus7.8版本的工程文件嗎

    菜鳥路過,請問Proteus8.0能仿真Proteus7.8版本的工程文件嗎?求指導
    發表于 06-07 20:07

    MySQL8.0 新特性:Partial Update of LOB Column

    摘要: MySQL8.0對json進行了比較完善的支持, 我們知道json具有比較特殊的存儲格式,通常存在多個key value鍵值對,對于類似更新操作通常不會更新整個json列,而是某些鍵值
    發表于 06-11 20:23

    MySQL安裝使用說明Windows版本

    MySQL安裝使用說明Windows版本
    發表于 10-23 16:29 ?0次下載
    <b class='flag-5'>MySQL</b>安裝使用說明Windows<b class='flag-5'>版本</b>

    mysql8.0中的無鎖重做日志源碼介紹

    的性能, 所以在InnoDB 8.0 改成了無鎖實現這個是官方的介紹:https://mysqlserverteam.com/mysql-8-0-new-lock-free-scalable-wal-design
    的頭像 發表于 02-17 10:52 ?2875次閱讀
    <b class='flag-5'>mysql8.0</b>中的無鎖重做日志源碼介紹

    Synopsys推出帶有Coverity 8.0版本的軟件完整性平臺

    的自動化靜態分析解決方案的最新版本軟件源代碼中的安全漏洞和質量缺陷。 Coverity 8.0版本包括幾個重要更新,包括對新編程語言的支持,增強的安全測試功能以及對許多開發工具和環境的額外集成支持。
    的頭像 發表于 08-08 14:40 ?3972次閱讀

    關于mysql存儲引擎你知道多少

    Mysql中用的最多的兩種存儲引擎就是MyISAM和InnDB,其中MyISAM是5.1版本之前的默認存儲引擎,InnoDB是5.1版本之后的默認存儲引擎。
    發表于 08-23 10:52 ?856次閱讀

    騰訊云打造MySQL 8.0全新引擎,進一步加速客戶產業升級

    據介紹,騰訊云數據庫 MySQL 8.0的內核可以百分百完全兼容主流MySQL分支。相比官方版本,無論是單機模式、異步模式還是同步模式下, MySQ
    的頭像 發表于 07-09 14:54 ?2359次閱讀

    四個有趣的關于Python 3.9版本新特性

    四個有趣的關于Python 3.9版本新特性
    的頭像 發表于 10-08 14:47 ?3083次閱讀
    四個有趣的<b class='flag-5'>關于</b>Python 3.9<b class='flag-5'>版本</b>新特性

    MySQL 5.7與MySQL 8.0 性能對比

    背景 測試mysql5.7和mysql8.0分別在讀寫,選定,只寫模式下不同并發時的性能(tps,qps) 最早 測試使用版本mysql5.7.22和
    的頭像 發表于 11-03 09:26 ?1.7w次閱讀
    <b class='flag-5'>MySQL</b> 5.7與<b class='flag-5'>MySQL</b> <b class='flag-5'>8.0</b> 性能對比

    MySql環境一鍵安裝應用程序免費下載

    本文檔的主要內容詳細介紹的是MySql環境一鍵安裝應用程序免費下載。創建Mysql所需環境支持8.0以上版本,暫無測試過8.0以下
    發表于 02-26 15:01 ?7次下載

    請問mysql8.0不能在grant時創建用戶是什么原因?

    用習慣了MySQL5.7,當在MySQL8.0里創建用戶時,習慣性直接敲GRANT指令,結果報錯了
    的頭像 發表于 08-11 10:16 ?2222次閱讀

    mysql8.0默認字符集是什么

    MySQL 8.0 默認字符集是 utf8mb4。 MySQL 8.0 是當前最新的開源關系型數據庫管理系統,由Oracle公司開發和維護。MySQ
    的頭像 發表于 11-16 14:48 ?1818次閱讀

    MySQL5.7數據導入8.0版本,這3款工具值得收藏!

    MySQL 5.7數據庫遷移到MySQL 8.0可以使用NineData、MySQL Shell、Percona XtraBackup和Liquibase等工具。每個工具都有自己的優
    的頭像 發表于 11-29 16:47 ?2775次閱讀
    <b class='flag-5'>MySQL</b>5.7數據導入<b class='flag-5'>8.0</b><b class='flag-5'>版本</b>,這3款工具值得收藏!

    GitHub底層數據庫無縫升級到MySQL 8.0的經驗

    GitHub 團隊近日分享了他們將 GitHub.com 的底層數據庫無縫升級到 MySQL 8.0 的經驗。 據介紹,GitHub 使用 MySQL 來存儲大量關系數據,因此在不影響網站服務級別
    的頭像 發表于 12-13 10:21 ?514次閱讀
    GitHub底層數據庫無縫升級到<b class='flag-5'>MySQL</b> <b class='flag-5'>8.0</b>的經驗

    mysql8.0流程控制介紹

    ,流程就分為三大類:? ?順序結構:程序從上往下依次執行 ? ?分支結構:程序按條件進行選擇執行,從兩條或多條路徑中選擇一條執行 ? ?循環結構:程序滿足一定條件下,重復執行一組語句針對于MySQL的流程控制語句主要有3類。注意:只能用于
    的頭像 發表于 01-13 10:36 ?700次閱讀
    主站蜘蛛池模板: 色视频在线观看在线播放| 色第一页| 扛着高跟鞋丝袜腿呻吟视频| 亚洲视频高清| h视频免费在线| 日韩欧美中文在线| 亚洲小younv另类| 8x8x极品国产在线| 色婷婷六月天| 欲色淫香| 亚洲一区免费视频| 欧美性天天影视| 天天爽夜夜爽一区二区三区| 性xxx中文视频| 欧美日一区| 日本黄色大全| 在线天堂bt种子| 国产一级特黄aa大片爽爽| 高清午夜线观看免费| 性视频久久| 99成人国产精品视频| 91男女视频| 拍拍拍拍拍拍拍无挡大全免费 | 狠狠色丁香婷婷综合视频| 久久天天躁狠狠躁夜夜免费观看| 超h高h文污肉| 国产精品主播在线| 欧美性猛交xxx嘿人猛交| 视频一区日韩| 天天躁夜夜躁狠狠躁| 国产做爰一区二区| 高清一级做a爱视频免费| 91视频看看| 久久综合狠狠综合狠狠| 性夜影院爽黄e爽在线观看| 色妞综合| 美女一级牲交毛片视频| 天天摸日日添狠狠添婷婷| 天天曰夜夜操| 亚洲香蕉毛片久久网站老妇人| www.色av.com|