Linux下將數(shù)據(jù)庫從MySQL遷移到MariaDB的基礎(chǔ)操作教程
自從2012年來,維基百科已經(jīng)開始從MySQL遷移到MariaDB的過程,是維基媒體數(shù)據(jù)庫架構(gòu)變革的一個重大里程碑,將英文和德文版的維基百科數(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)帶去了很多改進。
現(xiàn)在 MariaDB 的優(yōu)化器的增強、Percona 的 XtraDB 的特性以及 Oracle 5.5 的一些原因促使我們考慮升級的問題。同樣重要的是,我們作為自由文化運動的支持者,維基媒體基金會強烈希望使用自由軟件項目,不希望使用不同的許可證來區(qū)分自由版和企業(yè)版,我們非常歡迎和支持 MariaDB 基金會作為一個非盈利機構(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與他的舊團隊在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有免費版和企業(yè)版,而企業(yè)版的新功能沒有公開源碼,而MariaDB則沒有這方面的問題。
ArchLinux已宣布將使用MariaDB作為MySQL的默認提供包,openSUSE已經(jīng)在新近發(fā)布的12.3版中默認使用MariaDB, 連Fedora也正在考慮更換為MariaDB....
接下來,我們就來看一下Linux環(huán)境下從MySQL遷移到MariaDB的實際操作方法。
對 Arch 用戶來說很簡單,照著官方新聞里面的來就是了:
systemctl stop mysqld pacman -S mariadb libmariadbclient mariadb-clients systemctl start mysqld mysql_upgrade -p
而對于 openSUSE 就更傻瓜式了,畢竟是默認的嘛: zypper in mariadb 一句就夠。
至于 Debian/Ubuntu 用戶就要稍微復(fù)雜一些,不過整個過程還是很流暢的:
首先到 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 了,在某些具體環(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)化,文章圍繞主題展開詳細的內(nèi)介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08mysql中engine=innodb和engine=myisam的區(qū)別介紹
MyISAM類型不支持事務(wù)處理等高級處理,而InnoDB類型支持,本文為大家講解下mysql中engine=innodb和engine=myisam的區(qū)別,不懂的朋友可以學(xué)習(xí)下,希望對大家有所幫助2013-07-07MySQL8.0?Command?Line?Client輸入密碼后出現(xiàn)閃退現(xiàn)象的原因以及解決方法總結(jié)
我們在安裝MYSQL數(shù)據(jù)庫時,經(jīng)常會出現(xiàn)一些問題,下面這篇文章主要給大家介紹了關(guān)于MySQL8.0?Command?Line?Client輸入密碼后出現(xiàn)閃退現(xiàn)象的原因以及解決方法的相關(guān)資料,需要的朋友可以參考下2023-03-03Mysql以utf8存儲gbk輸出的實現(xiàn)方法提供
Mysql以utf8存儲gbk輸出的實現(xiàn)方法提供...2007-11-11MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時才會更
本文主要介紹了MYSQL ON UPDATE CURRENT_TIMESTAMP當(dāng)字段值發(fā)生改變時才會更新記錄的時間,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Django創(chuàng)建項目+連通mysql的操作方法
這篇文章主要介紹了Django創(chuàng)建項目+連通mysql的操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03阿里云Linux CentOS 7.2下自建MySQL的root密碼忘記的解決方法
這篇文章主要介紹了阿里云Linux CentOS 7.2下自建MySQL的root密碼忘記的解決方法,需要的朋友可以參考下2017-07-07