在Linux上从MySQL迁移到MariaDB的简单步骤

时间:2020-03-05 15:25:22  来源:igfitidea点击:

大家好,本教程将全部介绍如何在Linux Server或者PC上从MySQL迁移到MariaDB。
因此,我们可能会问为什么我们真的应该从MySQL迁移到MariaDB来进行数据库管理。
以下是真正需要将数据库管理系统从MySQL迁移到MariaDB的原因。

为什么要使用MariaDB代替MySQL?

MariaDB是MySQL数据库系统的增强的直接替换和社区开发的分支。

它由MariaDB基金会开发,由MySQL的原始开发人员领导。
使用MariaDB与MySQL完全相同。
Oracle购买MySQL之后,它不再是免费开放源代码,但是MariaDB仍然是免费开放源代码。
诸如Google,Wikipedia,Linkedin,Mozilla之类的热门以及许多其他都迁移到了MariaDB。

现在,让我们迁移到MariaDB。

为了进行测试,让我们创建一个名为theitroaddb的示例数据库。

使用以下命令以root用户身份登录到MySQL:

$mysql -u root -p

输入mysql root用户密码。
我们将被重定向到mysql提示符。

创建测试数据库:

在mysql提示符下输入以下命令以创建测试数据库。

mysql> create database theitroaddb;

要查看可用数据库的列表,请输入以下命令:

mysql> show databases;

如上所示,我们总共有5个数据库,包括新创建的数据库theitroaddb。

mysql> quit

现在,我们将创建的数据库从MySQL迁移到MariaDB。

注意:本教程对于基于CentOS(基于fedora的Linux发行版)不是必需的,因为MariaDB是自动安装的,而不是MySQL,不需要备份现有数据库,我们只需要更新mysql,这将为我们提供mariadb。

1.备份现有数据库

我们的第一个重要步骤是创建现有数据库的备份。
为此,我们将从终端(而不是从MySQL提示符)输入以下命令。

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

糟糕!我们遇到了一个错误。
不用担心,可以解决。

$mysqldump: Error: Binlogging on server not active

要解决此错误,我们必须在my.cnf文件中进行一些小的修改。

编辑my.cnf文件:

$sudo nano /etc/mysql/my.cnf

在[mysqld]部分下,添加以下参数。

log-bin=mysql-bin

现在,完成后保存并退出文件。
然后,我们需要重新启动mysql服务器。
为此,请执行以下命令。

$sudo /etc/init.d/mysql restart

现在,重新运行mysqldump命令来备份所有数据库。

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

上面的命令将备份所有数据库,并将它们存储在当前目录的backupdatabase.sql中。

2.卸载MySQL

首先,我们将my.cnf文件备份到一个安全的位置。

注意:卸载MySQL软件包时,不会删除my.cnf文件。
我们这样做是为了预防。
在安装MariaDB的过程中,安装程序会要求我们保留现有的my.cnf(旧备份)文件或者使用软件包容器版本(即新版本)。

要备份my.cnf文件,请在shell程序或者终端中输入以下命令。

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

要停止mysql服务,请从终端输入以下命令。

$sudo /etc/init.d/mysql stop

然后,删除mysql软件包。

$sudo apt-get remove mysql-server mysql-client

3.安装MariaDB

以下是在Ubuntu系统上运行以安装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://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'

导入密钥并添加存储库后,我们可以使用以下命令安装MariaDB:

$sudo apt-get update
$sudo apt-get install mariadb-server

我们应该记住,在MariaDB安装过程中,安装程序会要求我们使用现有的my.cnf(旧备份)文件或者使用软件包容器版本(即新版本)。
我们可以使用旧的my.cnf文件或者软件包容器版本。
如果要使用新版本的my.cnf,可以稍后再恢复较旧的my.cnf的内容(我们之前已将该文件复制到安全位置),即my.cnf.bak。
因此,我将默认设置为N,然后按N。
对于其他版本,请参考MariaDB官方存储库页面。

4.恢复配置文件

要从my.cnf.bak恢复my.cnf,请在终端中输入以下命令。
我们在当前目录中拥有旧的my.cnf.bak文件,因此我们可以使用以下命令简单地复制该文件:

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

5.导入数据库

最后,让我们导入之前创建的旧数据库。
为此,我们需要运行以下命令。

$mysql -u root -p < backupdatabase.sql

就是这样。
我们已经成功导入了旧数据库。

让我们检查数据库是否真正导入。
为此,我们要使用以下命令登录到mysql提示符:

$mysql -u root -p

现在,要检查数据库是否已迁移到MariaDB,请运行“显示数据库”; MarianDB提示中的命令,不带引号(“”)

mariaDB> show databases;