自從2012年來,維基百科已經開始從MySQL遷移到MariaDB的過程,是維基媒體數據庫架構變革的一個重大裡程碑,將英文和德文版的維基百科數據庫Wikidata移植到了MariaDB 5.5版本上。
在過去幾年中,維基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作為我們的產品數據庫,構建版本號是r3753。我們很高興該產品的性能表現,Facebook 有著全世界最棒的數據庫工程師,他們為 MySQL 生態系統帶去了很多改進。
現在 MariaDB 的優化器的增強、Percona 的 XtraDB 的特性以及 Oracle 5.5 的一些原因促使我們考慮升級的問題。同樣重要的是,我們作為自由文化運動的支持者,維基媒體基金會強烈希望使用自由軟件項目,不希望使用不同的許可證來區分自由版和企業版,我們非常歡迎和支持 MariaDB 基金會作為一個非盈利機構對 MySQL 相關數據庫社區做的工作。
在做正式遷移前我們做了大量的准備工作,包括兼容性測試和性能測試,詳情請看官方說明。
MySQL是世界上最流行的開源關系數據,它的名字取 自於創始人Michael "Monty" Widenius的長女“My”。2008年,Sun收購MySQL;2009年,甲骨文收購了Sun,MySQL落入了與開源社區關系緊張的甲骨文手中。Widenius與他的舊團隊在2009初創建了MySQL的分支MariaDB,它的名字取自於Widenius的幼女“Maria”,他希望通過保留核心開發者和日益增長的社區幫助MariaDB挑戰甲骨文的MySQL。
甲骨文與開源社區關系的惡化正促使許多發行版用MariaDB取代MySQL,現在使用MySQL的流行網站維基百科也宣布從MySQL遷移到MariaDB,部分原因是甲骨文的MySQL有免費版和企業版,而企業版的新功能沒有公開源碼,而MariaDB則沒有這方面的問題。
ArchLinux已宣布將使用MariaDB作為MySQL的默認提供包,openSUSE已經在新近發布的12.3版中默認使用MariaDB, 連Fedora也正在考慮更換為MariaDB....
接下來,我們就來看一下Linux環境下從MySQL遷移到MariaDB的實際操作方法。
對 Arch 用戶來說很簡單,照著官方新聞裡面的來就是了:
systemctl stop mysqld pacman -S mariadb libmariadbclient mariadb-clients systemctl start mysqld mysql_upgrade -p
而對於 openSUSE 就更傻瓜式了,畢竟是默認的嘛: zypper in mariadb 一句就夠。
至於 Debian/Ubuntu 用戶就要稍微復雜一些,不過整個過程還是很流暢的:
首先到 MariaDB 官方的 Repository Configuration Tool 去選一個合適的源,然後把給出來的地址放到 /etc/apt/sources.list 文件底部:
# MariaDB 5.5 repository list - created 2013-03-26 14:20 UTC # http://mariadb.org/mariadb/repositories/ deb http://mirror2.hs-esslingen.de/mariadb/repo/5.5/debian squeeze main deb-src http://mirror2.hs-esslingen.de/mariadb/repo/5.5/debian squeeze main接下來執行以下命令:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db apt-get update apt-get install mariadb-server mariadb-client
於是 MySQL(或者 Percona)就自動卸載並且替換成 MariaDB 了,在某些具體環境下,可能還需要執行這些命令:
apt-get autoremove apt-get upgrade # or apt-get dist-upgrade mysql_upgrade -p
然後就搞定了!盡情折騰吧