自從2012年來,維基百科已經(jīng)開始從MySQL遷移到MariaDB的過程,是維基媒體數(shù)據(jù)庫架構(gòu)變革的一個(gè)重大里程碑,將英文和德文版的維基百科數(shù)據(jù)庫Wikidata移植到了MariaDB 5.5版本上。
在過去幾年中,維基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作為我們的產(chǎn)品數(shù)據(jù)庫,構(gòu)建版本號是r3753。我們很高興該產(chǎn)品的性能表現(xiàn),F(xiàn)acebook 有著全世界最棒的數(shù)據(jù)庫工程師,他們?yōu)?MySQL 生態(tài)系統(tǒng)帶去了很多改進(jìn)。
現(xiàn)在 MariaDB 的優(yōu)化器的增強(qiáng)、Percona 的 XtraDB 的特性以及 Oracle 5.5 的一些原因促使我們考慮升級的問題。同樣重要的是,我們作為自由文化運(yùn)動(dòng)的支持者,維基媒體基金會(huì)強(qiáng)烈希望使用自由軟件項(xiàng)目,不希望使用不同的許可證來區(qū)分自由版和企業(yè)版,我們非常歡迎和支持 MariaDB 基金會(huì)作為一個(gè)非盈利機(jī)構(gòu)對 MySQL 相關(guān)數(shù)據(jù)庫社區(qū)做的工作。
在做正式遷移前我們做了大量的準(zhǔn)備工作,包括兼容性測試和性能測試,詳情請看官方說明。
MySQL是世界上最流行的開源關(guān)系數(shù)據(jù),它的名字取 自于創(chuàng)始人Michael "Monty" Widenius的長女“My”。2008年,Sun收購MySQL;2009年,甲骨文收購了Sun,MySQL落入了與開源社區(qū)關(guān)系緊張的甲骨文手中。Widenius與他的舊團(tuán)隊(duì)在2009初創(chuàng)建了MySQL的分支MariaDB,它的名字取自于Widenius的幼女“Maria”,他希望通過保留核心開發(fā)者和日益增長的社區(qū)幫助MariaDB挑戰(zhàn)甲骨文的MySQL。
甲骨文與開源社區(qū)關(guān)系的惡化正促使許多發(fā)行版用MariaDB取代MySQL,現(xiàn)在使用MySQL的流行網(wǎng)站維基百科也宣布從MySQL遷移到MariaDB,部分原因是甲骨文的MySQL有免費(fèi)版和企業(yè)版,而企業(yè)版的新功能沒有公開源碼,而MariaDB則沒有這方面的問題。
ArchLinux已宣布將使用MariaDB作為MySQL的默認(rèn)提供包,openSUSE已經(jīng)在新近發(fā)布的12.3版中默認(rèn)使用MariaDB, 連Fedora也正在考慮更換為MariaDB....
接下來,我們就來看一下Linux環(huán)境下從MySQL遷移到MariaDB的實(shí)際操作方法。
對 Arch 用戶來說很簡單,照著官方新聞里面的來就是了:
systemctl stop mysqld pacman -S mariadb libmariadbclient mariadb-clients systemctl start mysqld mysql_upgrade -p
而對于 openSUSE 就更傻瓜式了,畢竟是默認(rèn)的嘛: zypper in mariadb 一句就夠。
至于 Debian/Ubuntu 用戶就要稍微復(fù)雜一些,不過整個(gè)過程還是很流暢的:
首先到 MariaDB 官方的 Repository Configuration Tool 去選一個(gè)合適的源,然后把給出來的地址放到 /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)就自動(dòng)卸載并且替換成 MariaDB 了,在某些具體環(huán)境下,可能還需要執(zhí)行這些命令:
apt-get autoremove apt-get upgrade # or apt-get dist-upgrade mysql_upgrade -p
然后就搞定了!盡情折騰吧