當前位置:編程學習大全網 - 腳本源碼 - 如何將MySQL的數據遷移到MariaDB裏面去

如何將MySQL的數據遷移到MariaDB裏面去

本來 MariaDB 的描繪初衷之壹即是徹底兼容 MySQL,包含 API 和客戶端協議,使之能輕松變成 MySQL 的代替品,所以由 MySQL 搬遷到

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,到時分再自然而然地搬遷吧。轉載

  • 上一篇:三星Galaxy S3 怎樣恢復出廠設置
  • 下一篇:電腦按什麽鍵進入bios
  • copyright 2024編程學習大全網