在Linux上从MySQL迁移到MariaDB的简单步骤
大家好,本教程将全部介绍如何在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;