已可預(yù)見MariaDB將替代MySQL
遷移步驟:
1、停止正在運(yùn)行的Mysql服務(wù)
- # systemctl stop mysqld
2、安裝mariadb及升級(jí)工具等
- # pacman -S mariadb libmariadbclient mariadb-clients
3、重啟Mysql服務(wù)
- # systemctl start mysqld
4、對已存在的庫進(jìn)行升級(jí)
- # mysql_upgrade -p
為什么要棄用MySQL?
為什么要棄用Mysql?這其中是有典故:
MySQL之父Widenius先生離開了Sun之后,覺得依靠Sun/Oracle來發(fā)展MySQL實(shí)在很不靠譜,于是決定另開分支,這個(gè)分支的名字叫做MariaDB。
MariaDB跟MySQL在絕大多數(shù)方面是兼容的,對于開發(fā)者來說,幾乎感覺不到任何不同。目前MariaDB是發(fā)展最快的MySQL分支版本,新版本發(fā)布速度已經(jīng)超過了Oracle官方的MySQL版本。
在Oracle控制下的MySQL開發(fā),有兩個(gè)主要問題:
1. MySQL核心開發(fā)團(tuán)隊(duì)是封閉的,完全沒有Oracle之外的成員參加。很多高手即使有心做貢獻(xiàn),也沒辦法做到。
2. MySQL新版本的發(fā)布速度,在Oracle收購Sun之后大為減緩。Widenius有一個(gè)ppt,用數(shù)據(jù)比較了收購之前和之后新版本的發(fā)布速度。有很多bugfix和新的feature,都沒有及時(shí)加入到發(fā)布版本之中。
以上這兩個(gè)問題,導(dǎo)致了各個(gè)大公司,都開發(fā)了自己定制的MySQL版本,包括Yahoo!/Facebook/Google/阿里巴巴+淘寶網(wǎng)等等。
MySQL是開源社區(qū)的資產(chǎn),任何個(gè)人/組織都無權(quán)據(jù)為己有。為了依靠廣大MySQL社區(qū)的力量來更快速的發(fā)展MySQL,另外開分支是必須的。
MariaDB特點(diǎn):
MariaDB基于事務(wù)的Maria存儲(chǔ)引擎,替換了MySQL的MyISAM存儲(chǔ)引擎,它使用了Percona的 XtraDB,InnoDB的變體,分支的開發(fā)者希望提供訪問即將到來的MySQL 5.4 InnoDB性能。這個(gè)版本還包括了 PrimeBase XT (PBXT) 和 FederatedX存儲(chǔ)引擎。
MariaDB默認(rèn)的存儲(chǔ)引擎是Aria,不是MyISAM。Aria可以支持事務(wù),但是默認(rèn)情況下沒有打開事務(wù)支持,因?yàn)槭聞?wù)支持對性能會(huì)有影響??梢酝ㄟ^以下語句,轉(zhuǎn)換為支持事務(wù)的Aria引擎。ALTER TABLEtablenameENGINE=MARIATRANSACTIONAL=1;
MariaDB 是一個(gè)采用Maria存儲(chǔ)引擎的MySQL分支版本,是由原來 MySQL 的作者M(jìn)ichael Widenius創(chuàng)辦的公司所開發(fā)的免費(fèi)開源的數(shù)據(jù)庫服務(wù)器。
這個(gè)項(xiàng)目的更多的代碼都改編于 MySQL 6.0,例如 “pool of threads”功能提供解決多數(shù)據(jù)連接問題。
與 MySQL 相比較,MariaDB 更強(qiáng)的地方在于:
Maria存儲(chǔ)引擎PBXT 存儲(chǔ)引擎
XtraDB存儲(chǔ)引擎
FederatedX存儲(chǔ)引擎
更快的復(fù)制查詢處理
線程池
更少的警告和bug
運(yùn)行速度更快
更多的 Extensions (More index parts, new startup options etc)
更好的功能測試
數(shù)據(jù)表消除
慢查詢?nèi)罩镜臄U(kuò)展統(tǒng)計(jì)
支持對 Unicode 的排序
相對于MySQL最新的版本5.6來說,在性能、功能、管理、NoSQL擴(kuò)展方面,MariaDB包含了更豐富的特性。。比如微秒的支持、線程池、子查詢優(yōu)化、組提交、進(jìn)度報(bào)告等。
需要注意的是:
MariaDB默認(rèn)情況下比MySQL需要更多的內(nèi)存,因?yàn)槟J(rèn)情況下需要啟用Aria存儲(chǔ)引擎處理內(nèi)部臨時(shí)表。如果需要MariaDB使用很少的內(nèi)存(這是以犧牲性能為代價(jià)的),可以設(shè)置aria_pagecache_buffer_size的值為 1M(默認(rèn)值為128M)。
原文鏈接:http://blog.sina.com.cn/s/blog_69e5d8400101bofg.html
【編輯推薦】