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

2015-04-07 14:09:42 · 作者: · 浏览: 38

大家好!这是一篇介绍如何在服务器或个人电脑上从MySQL迁移到MariaDB的教程。也许你会问为什么我们要将数据库管理从MySQL迁移到MariaDB。往下看我们告诉你为什么这样做。


?


现在,让我们迁移到MariaDB吧!



让我们创建一个叫linoxidedb用于测试的示例数据库


使用以下命令用root账户登陆MySQL:


输入mysql 的 root 用户密码后,你将进入mysql的命令行


创建测试数据库:


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


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


creating test databases


如你所见,算上刚刚新建的linoxidedb我们一共有5个数据库。


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


?


我们第一个重要的步骤就是备份现有的数据库。我们在终端(不是MySQL命令行)里输入如下命令来完成备份。


哇哦!我们遇到了点麻烦。别担心我们可以搞定。



mysqldump error


为了修复这个错误,我们需要对my.cnf文件做一些小改动。


编辑my.cnf文件:


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


log-bin=mysql-bin


configuring my.cnf


好了,在保存并关闭文件后,我们需要重启一下mysql服务。运行以下命令重启:


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



dumping databases


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


?


首先,我们得把my.cnf文件挪到安全的地方去


:在你卸载MySQL包的时候不会自动删除my.cnf文件,我们这样做只是以防万一。在MariaDB安装时,它会询问我们是保持现存的my.cnf文件,还是使用包中自带的版本(即新my.cnf文件)。


在shell或终端中输入如下命令来备份my.cnf文件:


运行命令来终止mysql服务:


然后移除mysql包:


uninstalling mysql


?


adding mariadb repo


键值导入并且添加完仓库后,你就可以用以下命令安装MariaDB了:


installing mariadb


my.conf configuration prompt


我们应该还没忘记在MariaDB安装时,它会问你是使用现有的my.cnf文件,还是包中自带的版本。你可以使用以前的my.cnf也可以用包中自带的。即使你想直接使用新的my.cnf文件,你依然可以晚点时候将以前的备份内容还原进去(别忘了我们已经将它复制到安全的地方了)。所以,我们直接选择了默认的选项“N”。如果需要安装其他版本,请参考MariaDB官方仓库


?


想要将my.cnf.bak中的内容恢复到my.cnf,在终端中输入以下命令。由于my.cnf.bak文件在当前目录下,所以我们只要简单的执行以下命令即可:


?


最后,让我们把我们之前创建的数据库导入吧!运行一下命令即可完成导入。


就这样,我们已成功将之前的数据库导入了进来。


来,让我们登录一下mysql命令行,检查一下数据库是否真的已经导入了:


importing database


为了检查数据库是否被迁移到MariaDB,请在MariaDB命令行中输入“show databases;”不用输入(“”),如下:


mysql to mariadb database migrated


如你所见,linoxidedb及所有的数据库都已经成功的被迁移了。


?


最后,我们已经成功地从MySQL迁移到了MariaDB数据库管理系统。MariaDB比MySQL好,虽然在性能方面MySQL还是比它更快,但是MariaDB的优点在于它额外的特性与支持的许可证。这能够确保它自由开源(FOSS),并永久自由开源,相比之下MySQL还有许多额外的插件,有些不能自由使用代码、有些没有公开的开发进程、有些在不久的将来会变的不再自由开源。如果你有任何的问题、评论、反馈给我们,不要犹豫直接在评论区留下你的看法。谢谢观看本教程,希望你能喜欢MariaDB。