一、CentOS 7放棄了MySQL,改使用MariaDB的原因
Oracle公司旗下收購了MySQL后,對MySQL做出了一些控制權變更和許可證條款上的改變,引起了MySQL社區的不滿和擔憂,MySQL的走向變得不穩定。 為了提供一個更加開放、自由的數據庫選擇,CentOS 7決定放棄MySQL,改用MariaDB。MariaDB是MySQL原創者Monty Widenius等人創建的一個分支,致力于成為一個更加開放而且免費的數據庫系統。在MariaDB中,一些被認為過于復雜或冗余的功能得到了修復或刪除,增強了性能和安全性,同時保持了與MySQL的高度兼容性。這使得它成為了一個很好的MySQL替代品,廣受MySQL用戶歡迎。也因此,很多Linux發行版選擇采用MariaDB 作為其默認的數據庫系統。
二、MySQL介紹
1、簡介
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,屬于Oracle旗下產品。MySQL是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是較好的RDBMS(Relational Database Management System,關系數據庫管理系統)應用軟件之一。MySQL是一種關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網站的開發都選擇MySQL作為網站數據庫。
2、應用環境
與其他的大型數據庫例如?Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。
Linux作為操作系統,Apache或Nginx作為Web服務器,MySQL作為數據庫,PHP/Perl/Python作為服務器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩定、免費的網站系統,被業界稱為“LAMP”或“LNMP”組合。
3、系統特點
MySQL使用 C和 C++編寫,并使用了多種編譯器進行測試,保證了源代碼的可移植性。支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統。為多種編程語言提供了 API。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、.NET和 Tcl 等。支持多線程,充分利用 CPU 資源。優化的 SQL查詢算法,有效地提高查詢速度。既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中。提供多語言支持,常見的編碼如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作數據表名和數據列名。提供 TCP/IP、ODBC 和 JDBC等多種數據庫連接途徑。提供用于管理、檢查、優化數據庫操作的管理工具。支持大型的數據庫,可以處理擁有上千萬條記錄的大型數據庫。支持多種存儲引擎。MySQL 是開源的,所以你不需要支付額外的費用。MySQL 使用標準的 SQL數據語言形式。MySQL 對 PHP 有很好的支持,PHP是比較流行的 Web 開發語言。MySQL是可以定制的,采用了 GPL協議,你可以修改源碼來開發自己的 MySQL 系統。在線 DDL/更改功能,數據架構支持動態應用程序和開發人員靈活性。復制全局事務標識,可支持自我修復式集群。復制無崩潰從機,可提高可用性。三、MariaDB介紹
1、簡介
MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。在存儲引擎方面,使用XtraDB來代替MySQL的InnoDB。 MariaDB由MySQL的創始人Michael Widenius主導開發,他早前曾以10億美元的價格,將自己創建的公司MySQL AB賣給了SUN,此后,隨著SUN被甲骨文收購,MySQL的所有權也落入Oracle的手中。MariaDB名稱來自Michael Widenius的女兒Maria的名字。MariaDB基于事務的Maria存儲引擎,替換了MySQL的MyISAM存儲引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發者希望提供訪問即將到來的MySQL 5.4 InnoDB性能。這個版本還包括了 PrimeBase XT(PBXT)和 FederatedX存儲引擎。
2、發展
成立于2009年,MySQL之父Michael “Monty” Widenius用他的新項目MariaDB完成了對MySQL的“反戈一擊”。開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。 過去一年中,大型互聯網用戶以及Linux發行商紛紛拋棄MySQL,轉投MariaDB陣營。MariaDB是目前最受關注的MySQL數據庫衍生版,也被視為開源數據庫MySQL的替代品。
MariaDB雖然被視為MySQL數據庫的替代品,但它在擴展功能、存儲引擎以及一些新的功能改進方面都強過MySQL。而且從MySQL遷移到MariaDB也是非常簡單的:
數據和表定義文件(.frm)是二進制兼容的所有客戶端API、協議和結構都是完全一致的所有文件名、二進制、路徑、端口等都是一致的所有的MySQL連接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不變mysql-client包在MariaDB服務器中也能夠正常運行共享的客戶端庫與MySQL也是二進制兼容的也就是說,在大多數情況下,你完全可以卸載MySQL然后安裝MariaDB,然后就可以像之前一樣正常的運行。
3、特點
MariaDB 是一個采用 Maria 存儲引擎的MySQL分支版本,是由原來 MySQL 的作者Michael Widenius創辦的公司所開發的免費開源的數據庫服務器。
這個項目的很多代碼都改編于 MySQL 6.0,例如“pool of threads”功能提供解決多數據連接問題。MariaDB 5.1.41 RC可以到這里下載,32位和64位已編譯Linux版本,還包括源代碼包。MariaDB基于GPL?2.0發布。
與 MySQL 相比較,MariaDB 更強的地方在于:
Maria?存儲引擎PBXT 存儲引擎XtraDB?存儲引擎FederatedX?存儲引擎更快的復制查詢處理線程池更少的警告和bug運行速度更快更多的 Extensions (More index parts, new startup options etc)更好的功能測試數據表消除慢查詢日志的擴展統計支持對 Unicode 的排序4、第三方工具
MariaDB的API和協議兼容MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和進度報告。這意味著,所有使用MySQL的連接器、庫和應用程序也將會在MariaDB下工作。在此基礎上,由于擔心甲骨文MySQL的一個更加封閉的軟件項目,Fedora的計劃在Fedora 19中的以MariaDB取代MySQL,維基媒體基金會的服務器同樣也使用MariaDB取代了MySQL。如下是支持MariaDB的客戶端工具:
DBEdit:一個免費的MariaDB數據庫和其他數據庫管理應用程序Navicat:一系列Windows、Mac OS X、Linux下專有數據庫管理應用程序。Navicat 15 for MySOL是目前業界流行的 MySQL 和 MariaDB 數據庫的前端編輯工具,是視圖可視化的利器,可輕松生成關于表之間的關系運算?SOL 命令。該軟件通過對數據表的可視化連接操作,自動生成復雜的多表關系運算的 SOL 命令,并實時返回結果記錄集HeidiSQL:一個Windows上自由和開放源碼的MySQL客戶端。它支持MariaDB的5.2.7版本和以后的版本phpMyAdmin:一個基于網絡的MySQL數據庫管理應用程序延伸閱讀1:MariaDB的目標
MariaDB的目標是提供一個由社區開發的、穩定的、總是免費的MySQL分支,在用戶級別上兼容主流版本。我們為自己的版本和上游、社區版的互操作性提高而努力。MariaDB分支與最新的MySQL發布版本的分支保持一致性,例如MariaDB 5.1.47對應MySQL 5.1.47,等等。