天天看點

《MySQL DBA修煉之道》——第2章 MySQL安裝部署和入門 2.1如何選擇MySQL版本

本節書摘來自華章出版社《mysql dba修煉之道》一書中的第2章,第2.1節,作者:陳曉勇,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在選擇mysql的版本時,要根據生産情況來決定,是對現有生産環境中的資料庫進行版本更新呢?還是部署新的資料庫呢?如果已經在生産環境中部署了mysql,那麼我們不需要急着将其更新到最新版本,舊的版本已經在生産環境中長期穩定地運作,而新版本剛出來時,往往并不是那麼穩定,通常都會有一些bug需要修複。不穩定版本将導緻生産系統的不穩定,是以,如果不是急需新版本的某種特性,或者舊版本有嚴重的安全隐患,建議繼續使用舊的mysql版本即可。如果新版本已經穩定成熟且生産環境中的版本過于陳舊,那麼可以考慮更新舊的mysql版本。mysql的發展已經有10多年了,截至2016年6月,oracle已經釋出了mysql 5.5、mysql 5.6、mysql 5.7,其中mysql 5.5已經比較成熟,讀者可以考慮把生産環境中的mysql 5.0和mysql 5.1更新到mysql 5.5,如果需要mysql 5.6的一些新特性,那麼可以考慮将非核心的一些系統更新到mysql 5.6。

更新到新版本,往往可以獲得一定程度上的性能提升,是以,有計劃地把生産環境中的mysql 5.0、mysql 5.1系統更新為最新的穩定成熟版本是值得的。如果更新的代價比較大,那麼保持現狀也是可以的。如果生産資料庫的部署是标準的,那麼可以考慮編寫一個自動更新的腳本。先統一更新從庫,再更新主庫。由于更新主庫可能對服務的可用性造成影響,是以需要和相關方協調好時間計劃。如果前端有帶資料庫自動切換功能的中間件,或者應用層能夠比較友好地處理主從切換,那麼把資料庫流量臨時切換到從庫,可以大大減少對生産服務的影響。

對mysql的分支選擇也要慎重,2008年sun公司收購了mysql ab,但次年oracle又收購了sun,mysql也是交易的一部分,這之後,oracle的一系列舉動讓許多使用者和開發者開始質疑mysql在oracle旗下的命運,進而開始選擇其他替代品。對于mysql分支的選擇,本書不做過多的叙述,現實中,已經有一些重量級公司放棄了mysql,轉向mysql的其他分支,如mariadb、percona server,但對于絕大部分中小公司來說,使用官方的mysql或其他分支(如mariadb),都是比較好的選擇,能夠滿足絕大部分的需求。筆者的建議是如果公司尚在起步階段,選擇oracle官方的版本即可。我們選擇一個産品往往會基于一個重要的理由,它必須是由一個可靠的、成熟的公司或組織來維護的,這能夠確定這個産品會得到長久、穩定的支援。技術發展的目的是解放生産力,如果官方版本仍然能夠為企業帶來好處,那麼堅持使用原來的産品往往是一種比較好的選擇,開源和閉源的分裂将是長期的,也是可以共存的,隻要是對企業有利的,就不應該拒絕繼續使用,除非你有明确的理由放棄它。