本文將幫助您將數(shù)據(jù)庫從 MySQL 遷移到 MariaDB,因?yàn)檫w移過程中 MySQL 到 MariaDB 的二進(jìn)制兼容性非常簡單。
Oracle 收購 MySQL 后,社區(qū)推動(dòng)了此類運(yùn)動(dòng)的成果,并開發(fā)了一個(gè)名為 MariaDB 的新數(shù)據(jù)庫。 MariaDB 是開源的并且與 MySQL 兼容。大多數(shù)Linux發(fā)行版(RH、CentOS、Fedora)已經(jīng)開始使用MariaDB的支持作為MySQL的直接替代品。
如果我們想將數(shù)據(jù)庫從MySQL遷移到MariaDB,那么這文章會(huì)有所幫助。
準(zhǔn)備 MySQL 數(shù)據(jù)庫和表
我們創(chuàng)建一個(gè)測試 MySQL 數(shù)據(jù)庫和總體表用于演示目的。如果環(huán)境中有數(shù)據(jù)庫和表,則可以跳過此步驟。
使用 MySQL root 用戶和 root 用戶密碼從終端登錄 MySQL。
# mysql -uroot -p
登錄后復(fù)制
創(chuàng)建一個(gè)數(shù)據(jù)庫和表
mysql> Create database test1; mysql> use test1; mysql> create table tab1(name varchar(30), owner varchar(30), species varchar(20), sex char(1)); Query OK, 0 rows affected (0.02 sec)
登錄后復(fù)制
此外,我們將添加一些記錄來測試數(shù)據(jù)
mysql> insert into tab1 values('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Chary','m');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
Then quit from the MySQL.
登錄后復(fù)制
MySQL 數(shù)據(jù)庫的備份
我們需要使用命令 – MySQL dump 來備份 MySQL 數(shù)據(jù)庫
# mysqldump --all-databases --user=root --password --master-data > backupDB.sql
登錄后復(fù)制
出于安全原因,我們將在系統(tǒng)的其他位置獲取 MySQL 的一些配置文件
# cp /etc/mysql/my.cnf /opt/my.cnf.bak
登錄后復(fù)制
卸載 MySQL 軟件包
我們將使用以下命令卸載 MySQL –
# service mysqld stop # yum remove mysql-server mysql-client mysql-common
登錄后復(fù)制
安裝 MariaDB 軟件包
在所有主要 Linux 發(fā)行版官方存儲(chǔ)庫上,MariaDB 已替換為 MySQL。即使您使用的是舊版本的Linux也可以添加官方存儲(chǔ)庫。
在yum repos目錄中創(chuàng)建文件
# sudo vi /etc/yum.repos.d/MariaDB.repo
登錄后復(fù)制
將以下內(nèi)容添加到文件中并保存
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
登錄后復(fù)制
要安裝 Maria-DB 服務(wù)器和客戶端,請運(yùn)行以下命令。
# yum install MariaDB-server MariaDB-client
Loaded plugins: fastestmirror, langpacks
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
mariadb | 2.9 kB 00:00
updates | 3.4 kB 00:00
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package MariaDB-shared.x86_64 0:5.5.49-1.el7.centos will be obsoleting
---> Package mariadb-libs.x86_64 1:5.5.35-3.el7 will be obsoleted
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================
Package Arch Version Repository Size
========================================================================================
Installing:
MariaDB-client x86_64 5.5.49-1.el7.centos mariadb 8.6 M
MariaDB-server x86_64 5.5.49-1.el7.centos mariadb 40 M
MariaDB-shared x86_64 5.5.49-1.el7.centos mariadb 1.0 M
replacing mariadb-libs.x86_64 1:5.5.35-3.el7
Installing for dependencies:
MariaDB-common x86_64 5.5.49-1.el7.centos mariadb 23 k
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-Data-Dumper x86_64 2.145-3.el7 base 47 k
perl-IO-Compress noarch 2.061-2.el7 base 260 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
Transaction Summary
========================================================================================
Install 3 Packages (+8 Dependent packages)
Total download size: 51 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Public key for MariaDB-5.5.49-centos7-x86_64-common.rpm is not installed
(1/11): MariaDB-5.5.49-centos7-x86_64-common.rpm | 23 kB 00:00:01
(2/11): MariaDB-5.5.49-centos7-x86_64-client.rpm | 8.6 MB 00:00:12
warning: /var/cache/yum/x86_64/7/base/packages/perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm is not installed
(3/11): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00
(4/11): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00
(5/11): perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00
(6/11): perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00
(7/11): perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00
(8/11): perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00
(9/11): perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00
(10/11): MariaDB-5.5.49-centos7-x86_64-shared.rpm | 1.0 MB 00:00:01
Total download size: 51 M
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : MariaDB-common-5.5.49-1.el7.centos.x86_64 1/12
Installing : perl-Data-Dumper-2.145-3.el7.x86_64 2/12
Installing : MariaDB-client-5.5.49-1.el7.centos.x86_64 3/12
Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 4/12
Installing : perl-Net-Daemon-0.48-5.el7.noarch 5/12
Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/12
Installing : perl-IO-Compress-2.061-2.el7.noarch 7/12
Installing : perl-PlRPC-0.2020-14.el7.noarch 8/12
Installing : perl-DBI-1.627-4.el7.x86_64 9/12
Installed:
MariaDB-client.x86_64 0:5.5.49-1.el7.centos MariaDB-server.x86_64 0:5.5.49-1.el7.centos
MariaDB-shared.x86_64 0:5.5.49-1.el7.centos
Dependency Installed:
MariaDB-common.x86_64 0:5.5.49-1.el7.centos perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7
perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7
perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7
Replaced:
mariadb-libs.x86_64 1:5.5.35-3.el7
Complete!
登錄后復(fù)制
安裝完所有必需的軟件包后,我們需要為 root 用戶帳戶設(shè)置密碼。 root 密碼恢復(fù)從 MySQL 備份的配置文件。
# cp /opt/my.cnf /etc/mysql/
登錄后復(fù)制
現(xiàn)在,我們需要運(yùn)行以下命令來重新啟動(dòng) MariaDB 服務(wù)。
# service mariadb start
登錄后復(fù)制
導(dǎo)入MySQL數(shù)據(jù)庫
我們必須將我們從MySQL備份的數(shù)據(jù)庫導(dǎo)入到MariaDB
# mysql -u root -p < backupDB.sql
登錄后復(fù)制
輸入root用戶的密碼,然后數(shù)據(jù)庫就會(huì)導(dǎo)入到MariaDB
我們需要檢查數(shù)據(jù)庫是否正確恢復(fù)。
請按照以下命令操作 –
# mysql -u root -p MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test1 | +--------------------+ 3 rows in set (0.00 sec) MariaDB [(none)]> use test1; MariaDB [test01]> select * from tab1; select * from tab1; +---------+---------+---------+------+ | name | owner | species | sex | +---------+---------+---------+------+ | Chandra | Prakash | Kadarla | m | | Srinvas | Kadarla | Chary | m | +---------+---------+---------+------+ 2 rows in set (0.00 sec)
登錄后復(fù)制
現(xiàn)在從MySQL到MariaDB的遷移已經(jīng)成功完成。
在我們運(yùn)行命令并按照教程操作后,我們可以通過簡單的步驟將數(shù)據(jù)庫從MySQL遷移到MariaDB,其中MariaDB有一個(gè)與 MySQL 相比,有很多新功能。在上面的教程中我使用了一個(gè)簡單的場景來測試遷移配置。
以上就是如何在 Linux 上將 MySQL 遷移到 MariaDB?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!






