Linux下將數(shù)據(jù)庫(kù)從MySQL遷移到MariaDB的基礎(chǔ)操作教程
自從2012年來(lái),維基百科已經(jīng)開(kāi)始從MySQL遷移到MariaDB的過(guò)程,是維基媒體數(shù)據(jù)庫(kù)架構(gòu)變革的一個(gè)重大里程碑,將英文和德文版的維基百科數(shù)據(jù)庫(kù)Wikidata移植到了MariaDB 5.5版本上。
在過(guò)去幾年中,維基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作為我們的產(chǎn)品數(shù)據(jù)庫(kù),構(gòu)建版本號(hào)是r3753。我們很高興該產(chǎn)品的性能表現(xiàn),F(xiàn)acebook 有著全世界最棒的數(shù)據(jù)庫(kù)工程師,他們?yōu)?MySQL 生態(tài)系統(tǒng)帶去了很多改進(jìn)。
現(xiàn)在 MariaDB 的優(yōu)化器的增強(qiáng)、Percona 的 XtraDB 的特性以及 Oracle 5.5 的一些原因促使我們考慮升級(jí)的問(wèn)題。同樣重要的是,我們作為自由文化運(yùn)動(dòng)的支持者,維基媒體基金會(huì)強(qiáng)烈希望使用自由軟件項(xiàng)目,不希望使用不同的許可證來(lái)區(qū)分自由版和企業(yè)版,我們非常歡迎和支持 MariaDB 基金會(huì)作為一個(gè)非盈利機(jī)構(gòu)對(duì) MySQL 相關(guān)數(shù)據(jù)庫(kù)社區(qū)做的工作。
在做正式遷移前我們做了大量的準(zhǔn)備工作,包括兼容性測(cè)試和性能測(cè)試,詳情請(qǐng)看官方說(shuō)明。
MySQL是世界上最流行的開(kāi)源關(guān)系數(shù)據(jù),它的名字取 自于創(chuàng)始人Michael "Monty" Widenius的長(zhǎng)女“My”。2008年,Sun收購(gòu)MySQL;2009年,甲骨文收購(gòu)了Sun,MySQL落入了與開(kāi)源社區(qū)關(guān)系緊張的甲骨文手中。Widenius與他的舊團(tuán)隊(duì)在2009初創(chuàng)建了MySQL的分支MariaDB,它的名字取自于Widenius的幼女“Maria”,他希望通過(guò)保留核心開(kāi)發(fā)者和日益增長(zhǎng)的社區(qū)幫助MariaDB挑戰(zhàn)甲骨文的MySQL。
甲骨文與開(kāi)源社區(qū)關(guān)系的惡化正促使許多發(fā)行版用MariaDB取代MySQL,現(xiàn)在使用MySQL的流行網(wǎng)站維基百科也宣布從MySQL遷移到MariaDB,部分原因是甲骨文的MySQL有免費(fèi)版和企業(yè)版,而企業(yè)版的新功能沒(méi)有公開(kāi)源碼,而MariaDB則沒(méi)有這方面的問(wèn)題。
ArchLinux已宣布將使用MariaDB作為MySQL的默認(rèn)提供包,openSUSE已經(jīng)在新近發(fā)布的12.3版中默認(rèn)使用MariaDB, 連Fedora也正在考慮更換為MariaDB....
接下來(lái),我們就來(lái)看一下Linux環(huán)境下從MySQL遷移到MariaDB的實(shí)際操作方法。
對(duì) Arch 用戶來(lái)說(shuō)很簡(jiǎn)單,照著官方新聞里面的來(lái)就是了:
systemctl stop mysqld pacman -S mariadb libmariadbclient mariadb-clients systemctl start mysqld mysql_upgrade -p
而對(duì)于 openSUSE 就更傻瓜式了,畢竟是默認(rèn)的嘛: zypper in mariadb 一句就夠。
至于 Debian/Ubuntu 用戶就要稍微復(fù)雜一些,不過(guò)整個(gè)過(guò)程還是很流暢的:
首先到 MariaDB 官方的 Repository Configuration Tool 去選一個(gè)合適的源,然后把給出來(lái)的地址放到 /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
然后就搞定了!盡情折騰吧
相關(guān)文章
MySQL JOIN關(guān)聯(lián)查詢的原理及優(yōu)化
這篇文章主要介紹了MySQL JOIN關(guān)聯(lián)查詢的原理及優(yōu)化,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
mysql中engine=innodb和engine=myisam的區(qū)別介紹
MyISAM類型不支持事務(wù)處理等高級(jí)處理,而InnoDB類型支持,本文為大家講解下mysql中engine=innodb和engine=myisam的區(qū)別,不懂的朋友可以學(xué)習(xí)下,希望對(duì)大家有所幫助2013-07-07
MySQL8.0?Command?Line?Client輸入密碼后出現(xiàn)閃退現(xiàn)象的原因以及解決方法總結(jié)
我們?cè)诎惭bMYSQL數(shù)據(jù)庫(kù)時(shí),經(jīng)常會(huì)出現(xiàn)一些問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于MySQL8.0?Command?Line?Client輸入密碼后出現(xiàn)閃退現(xiàn)象的原因以及解決方法的相關(guān)資料,需要的朋友可以參考下2023-03-03
Mysql以u(píng)tf8存儲(chǔ)gbk輸出的實(shí)現(xiàn)方法提供
Mysql以u(píng)tf8存儲(chǔ)gbk輸出的實(shí)現(xiàn)方法提供...2007-11-11
MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時(shí)才會(huì)更
本文主要介紹了MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時(shí)才會(huì)更新記錄的時(shí)間,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
Django創(chuàng)建項(xiàng)目+連通mysql的操作方法
這篇文章主要介紹了Django創(chuàng)建項(xiàng)目+連通mysql的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Mysql數(shù)據(jù)庫(kù)分庫(kù)分表全面瓦解
物理服務(wù)機(jī)的CPU、內(nèi)存、存儲(chǔ)設(shè)備、連接數(shù)等資源有限,某個(gè)時(shí)段大量連接同時(shí)執(zhí)行操作,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)在處理上遇到性能瓶頸。為了解決這個(gè)問(wèn)題,行業(yè)先驅(qū)門(mén)充分發(fā)揚(yáng)了分而治之的思想,對(duì)大庫(kù)表進(jìn)行分割2022-01-01
阿里云Linux CentOS 7.2下自建MySQL的root密碼忘記的解決方法
這篇文章主要介紹了阿里云Linux CentOS 7.2下自建MySQL的root密碼忘記的解決方法,需要的朋友可以參考下2017-07-07

