本文將幫助您將數據庫從 MySQL 遷移到 MariaDB,因為遷移過程中 MySQL 到 MariaDB 的二進制兼容性非常簡單。
Oracle 收購 MySQL 后,社區推動了此類運動的成果,并開發了一個名為 MariaDB 的新數據庫。 MariaDB 是開源的并且與 MySQL 兼容。大多數Linux發行版(RH、CentOS、Fedora)已經開始使用MariaDB的支持作為MySQL的直接替代品。
如果我們想將數據庫從MySQL遷移到MariaDB,那么這文章會有所幫助。
準備 MySQL 數據庫和表
我們創建一個測試 MySQL 數據庫和總體表用于演示目的。如果環境中有數據庫和表,則可以跳過此步驟。
使用 MySQL root 用戶和 root 用戶密碼從終端登錄 MySQL。
# mysql -uroot -p
登錄后復制
創建一個數據庫和表
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)
登錄后復制
此外,我們將添加一些記錄來測試數據
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.
登錄后復制
MySQL 數據庫的備份
我們需要使用命令 – MySQL dump 來備份 MySQL 數據庫
# mysqldump --all-databases --user=root --password --master-data > backupDB.sql
登錄后復制
出于安全原因,我們將在系統的其他位置獲取 MySQL 的一些配置文件
# cp /etc/mysql/my.cnf /opt/my.cnf.bak
登錄后復制
卸載 MySQL 軟件包
我們將使用以下命令卸載 MySQL –
# service mysqld stop # yum remove mysql-server mysql-client mysql-common
登錄后復制
安裝 MariaDB 軟件包
在所有主要 Linux 發行版官方存儲庫上,MariaDB 已替換為 MySQL。即使您使用的是舊版本的Linux也可以添加官方存儲庫。
在yum repos目錄中創建文件
# sudo vi /etc/yum.repos.d/MariaDB.repo
登錄后復制
將以下內容添加到文件中并保存
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
登錄后復制
要安裝 Maria-DB 服務器和客戶端,請運行以下命令。
# 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!
登錄后復制
安裝完所有必需的軟件包后,我們需要為 root 用戶帳戶設置密碼。 root 密碼恢復從 MySQL 備份的配置文件。
# cp /opt/my.cnf /etc/mysql/
登錄后復制
現在,我們需要運行以下命令來重新啟動 MariaDB 服務。
# service mariadb start
登錄后復制
導入MySQL數據庫
我們必須將我們從MySQL備份的數據庫導入到MariaDB
# mysql -u root -p < backupDB.sql
登錄后復制
輸入root用戶的密碼,然后數據庫就會導入到MariaDB
我們需要檢查數據庫是否正確恢復。
請按照以下命令操作 –
# 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)
登錄后復制
現在從MySQL到MariaDB的遷移已經成功完成。
在我們運行命令并按照教程操作后,我們可以通過簡單的步驟將數據庫從MySQL遷移到MariaDB,其中MariaDB有一個與 MySQL 相比,有很多新功能。在上面的教程中我使用了一個簡單的場景來測試遷移配置。
以上就是如何在 Linux 上將 MySQL 遷移到 MariaDB?的詳細內容,更多請關注www.92cms.cn其它相關文章!