云网牛站
所在位置:首页 > Linux云数据库 > 5个简单步骤从MySQL迁移到MariaDB

5个简单步骤从MySQL迁移到MariaDB

2017-11-08 22:29:20作者:Linux大神稿源:linuxdashen

以下是在Debian Linux服务器上将MySQL数据库迁移到MariaDB数据库的5个步骤。以下步骤是在实际生产环境测试过的。完成下面5个步骤后,无需做出其他任何更改,生产照常进行。

 

1.备份已有的数据库

登录Debian Server,然后在终端中输入下面的命令进入MySQL shell。

mysql -u root -p

输入MySQL的root密码,我们就进入了MySQL shell。输入下面的命令查看MySQL中有多少个数据库,不要忘记输入分号。

show databases;

以下是我的MySQL中的数据库,可以看到一共有4个数据库。

5个简单步骤从MySQL迁移到MariaDB

输入下面的命令退出MySQL shell

exit;

在终端中输入下面的命令备份所有数据库。

mysqldump --all-databases --user=root --password --master-data > backupdb.sql

出现下面的错误提示:

mysqldump: Error: Binlogging on server not active

为了修复此错误,我们需要对my.cnf文件做一点修改。编辑my.cnf文件:

sudo vi /etc/mysql/my.cnf

添加下面一行到[mysqld]这一部分

log-bin=mysql-bin

如下:

[mysqld]

#

# * Basic Settings

#

user = mysql

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

lc-messages-dir = /usr/share/mysql

skip-external-locking

log-bin=mysql-bin

#

保存文件并退出文本编辑器,然后重启mysql server。

sudo service mysql restart 或 sudo systemctl restart mysql

再次执行mysqldump命令备份全部数据库:

mysqldump --all-databases --user=root --password --master-data > backupdb.sql

这条命令会备份所有的数据库,并将它们保存在当前工作目录的backupdb.sql文件中。如果出现下面的警告,可以无视它。

-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

 

2.停止MySQL并删除所有的mysql软件包

虽然卸载MySQL时my.cnf这个配置文件不会被删除, 但我们还是将my.cnf配置文件备份到一个安全的目录,以防万一。MariaDB在安装时,会询问你要使用原有的my.cnf文件还是使用MariaDB提供的my.cnf配置文件。

sudo cp /etc/mysql/my.cnf my.cnf.bak

备份完成后,输入下面的命令停止mysql服务。

sudo service mysql stop 或 sudo systemctl stop mysql

然后,删除所有的mysql软件包。

sudo apt-get remove mysql-server mysql-client

 

3.安装MariaDB

先参考Debian安装MariaDB10.1数据库服务器。以下地址为MariaDB 10.3的地址。

依次输入下面的命令,添加MariaDB官方软件源。

sudo apt-get install software-properties-common

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

sudo add-apt-repository 'deb http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.3/debian/ jessie main'

导入公钥并添加官方软件源后,输入下面的命令安装MariaDB:

sudo apt-get update

sudo apt-get install mariadb-server

在MariaDB安装的过程中,安装程序会询问你要使用原来MySQL的my.cnf配置文件还是要使用MariaDB提供的my.cnf文件。我们可以使用其中的任何一个。

 

4.将my.cnf.bak备份文件内容复制到my.cnf配置文件中

输入下面的命令:

sudo cp my.cnf.bak /etc/mysql/my.cnf

 

5.导入原来的数据库

输入下面的命令将第一步备份好的数据库导入到MariaDB。

mysql -u root -p < backupdb.sql

输入MariaDB的root密码后,我们就成功地导入了数据库。我们可以进入MariaDB shell查看是否真的导入成功。输入下面命令进入MariaDB shell:

mysql -u root -p

输入show database;命令列出所有数据库:

MariaDB [(none)]> show databases;

可以看到,原来所有的数据库都导入成功了。

5个简单步骤从MySQL迁移到MariaDB

好了,跟MySQL说再见。And say hello to MariaDB,现在不需要做其他任何更改,生产照样进行。

 

相关主题

第18章 使用MariaDB数据库管理系统

精选文章
热门文章