MariaDB 基本上能夠稱之為“晉級”,就如同軟件晉級版別壹樣。MariaDB 的技能文檔上是這樣寫的:
若是是壹樣的根底版別(如
5.5),能夠直接卸載 MySQL 然後裝置
MariaDB,這樣就能夠用了。乃至不需求備份然後復原數據庫。當然,穩妥起見,晉級前將壹切的數據庫都備份壹下仍是十分有必要的,以防萬壹。
若是
MariaDB 的主版別高,在通過上面的卸載 MySQL 再裝置 MariaDB 操作之後,需求運用 mysql_upgrade
晉級壹下。是的,乃至連命令行都與運用 MySQL 的時分壹樣。
壹切原先的客戶端和連接器(PHP、Perl、Python、Java
等)都不需求做任何改動就能正常作業,由於 MariaDB 與 MySQL 運用的是壹樣的客戶端協議,而且客戶端庫文件也是二進制兼容的。
上面用 *
來匹配刪去壹切 mysql 數據包(包含因包依靠而刪去的別的包,如 postfix)。由於直接裝置的時分會呈現抵觸,例如:
file
/usr/share/mysql/ukrainian/errmsg.sys from install of
MariaDB-server-5.5.31-1.i686 conflicts with file from package
mysql-libs-5.5.32-1.el6.remi.i686
嗯,如同由於將 php-mysql 也給刪去了(實際上這個不應刪去的),所以
phpMyAdmin 也由於依靠聯系而被刪去了,我沒仔細看。
所以最佳不要用通配符 *,而是選擇性刪去幾個首要的,
# yum remove
mysql mysql-server mysql-libs
可是這個我沒有再測驗,由於後邊有非常好的辦法。
C. 然後裝置 MARIADB 及相應
PHP 拓展。
也是指定幾個首要的裝置包,剩余的讓 yum 自個進行依靠聯系查看。
# yum install
MariaDB-server MariaDB-client php-mysql
或許不裝置 MariaDB-server
而改為具有同步多主群集特性(synchronous multi-master cluster)的 MariaDB Galera Cluster:
# yum install MariaDB-Galera-server MariaDB-client galera
這裏對比搞笑的是,沒註意前面把
php-mysql 給卸載了,成果運轉數據庫之後拜訪 WordPress,成果遭受下面的過錯:
Your PHP installation appears
to be missing the MySQL extension which is required by WordPress.
D.
完結,修補
不論版別是不是晉級了,履行壹下數據庫晉級指令總沒有害處:
# mysql_upgrade -p
看看數據庫版別是不是晉級了:
# mysql -u root -p -e 'show global variables like
"version";'
Enter password:
+---------------+----------------+
| Variable_name | Value |
+---------------+----------------+
| version | 5.5.31-MariaDB |
+---------------+----------------+
將 MariaDB 參加隨體系自發動列表,
# chkconfig --levels 345 mysql on
嗯,曾經
MySQL 的時分是 mysqld,現在是 mysql,就差了壹個字母 d。
發動它,
# service mysql start
這個時分服務器上的網站大概現已能夠正常作業了,拜訪數據庫沒有疑問。
若是有必要,裝置完 MariaDB 之後能夠重新裝置 postfix。若是發現
phpMyAdmin 提示無拜訪權限了,那即是被卸載了,需求重新裝置和裝備 phpMyAdmin。
別的,由於之前進行了卸載操作,所以本來的 MySQL
和 phpMyAdmin 的裝備文件都被清除了,也需求重新裝備。特別是 MySQL 的裝備文件 /etc/my.cnf,由於 MariaDB
盡管創建了壹個my.cnf.d 文件夾來存儲自個的裝備文件,可是它會首要加載 my.cnf,且本來 MySQL 的裝備的 [mysqld]
那壹節的內容仍是有用的。
3. 較好的晉級辦法
仍是在上面介紹的體系裝備下,先增加 MariaDB 裝置源,然後直接履行體系晉級,
# yum
update --skip-broken
MariaDB 有關裝置包會被裝置,不需求的 MySQL
包將被卸載,而且晉級之後不需求對體系進行修補了。看看輸出的前面壹部分:
==============================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Installing:
MariaDB-Galera-server i686 5.5.29-1 mariadb 19 M
replacing mysql.i686 5.5.21-1.el6.remi
replacing
mysql-server.i686 5.5.21-1.el6.remi
MariaDB-server i686 5.5.31-1 mariadb
32 M
replacing mysql-server.i686 5.5.21-1.el6.remi
MariaDB-shared i686 5.5.31-1 mariadb 1.0 M
replacing
mysql-libs.i686 5.5.21-1.el6.remi
kernel i686 2.6.32-358.11.1.el6
updates 24 M
libjpeg-turbo i686 1.2.1-1.el6 base 176 k
replacing
libjpeg.i686 6b-46.el6
Updating:
.........
到這裏才感覺到 MariaDB
的描繪思維那個無縫代替 MySQL 不是噱頭,而是實實在在的技能。所以我也就不急著給 VPS 晉級到 MariaDB 了,橫豎過不了多久 CentOS
就會選用 MariaDB,到時分再自然而然地搬遷吧。轉載