Linux 上从 MySQL 迁移到 MariaDB 的简单步骤
大家好!这是一篇介绍如何在服务器或个人电脑上从MySQL迁移到MariaDB的教程。也许你会问为什么我们要将数据库管理从MySQL迁移到MariaDB。往下看我们告诉你为什么这样做。
为什么要用MariaDB来代替MySQLMariaDB是MySQL社区开发的分支,也是一个增强型的替代品。它由MySQL前开发者们带头组织的基金会开发,使用起来和MySQL完全一样。自从Oracle买下了MySQL,它就不再自由开源了,但是MariaDB仍然自由开源。一些如谷歌、维基、LinkedIn、Mozilla等的顶级的网站已经迁移到MariaDB了。它的优势在哪里:
向后兼容MySQL
永远开源
由MySQL缔造者的维护
更尖端的功能
更多的存储引擎
大型的网站已经转向MariaDB现在,让我们迁移到MariaDB吧!
让我们创建一个叫linoxidedb的用于测试的示例数据库。
使用以下命令用root账户登陆MySQL:
$ mysql -u root -p输入mysql 的 root 用户密码后,你将进入mysql的命令行
创建测试数据库:
在mysql命令行输入以下命令以创建测试数据库。
mysql> create database linoxidedb;查看可用的数据库,输入以下命令:
mysql> show databases;
如你所见,算上刚刚新建的linoxidedb我们一共有5个数据库。
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
mysqldump error
为了修复这个错误,我们需要对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
dumping databases
上面的命令将会备份所有的数据库,把它们存储在当前目录下的backupdatabase.sql文件中。
2. 卸载MySQL首先,我们得把my.cnf文件挪到安全的地方去。
注:在你卸载MySQL包的时候不会自动删除my.cnf文件,我们这样做只是以防万一。在MariaDB安装时,它会询问我们是保持现存的my.cnf文件,还是使用包中自带的版本(即新my.cnf文件)。
在shell或终端中输入如下命令来备份my.cnf文件:
$ 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
( ↓↓ —— 未完 —— ↓↓ )
完美阅读及吐槽,请猛击:http://linux.cn/article-5176-qqmail.html[258,3,1427932080]
Linux 上从 MySQL 迁移到 MariaDB 的简单步骤的更多相关文章
- 在 Linux 中怎样将 MySQL 迁移到 MariaDB 上
自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了 MySQL.在社区驱动下,促使更多人移到 MySQL 的另一个叫 M ...
- 怎样将 MySQL 迁移到 MariaDB 上
自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaD ...
- 怎样将数据库MySQL 迁移到 MariaDB 上
自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaD ...
- MySQL迁移至MariaDB
为什么要用MariaDB来代替MySQL MariaDB是MySQL社区开发的分支,也是一个增强型的替代品.它由MySQL前开发者们带头组织的基金会开发,使用起来和MySQL完全一样.自从Oracle ...
- sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法
sqlyog连接Linux上的mysql报错误号码2013,错误号码1130的解决办法 1.报错误号码2013,可能是端口号不是默认的3306,需要改成对应的,检查命令是: [root@host et ...
- 怎样在 Ubuntu Linux 上安装 MySQL
本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...
- Linux上通过MySQL命令访问MySQL数据库时常见问题汇总
Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...
- 【数据库开发】在Windows上和Linux上配置MySQL的过程
[数据库开发]在Windows上和Linux上配置MySQL的过程 标签(空格分隔): [编程开发] 首先是在Windows上尝试用QT进行MySQL数据库开发,结果总出现driver不能load的错 ...
- linux上安装 mysql
一.linux 上安装 mysql 1.查看mysql是否安装 rpm -qa|grep mysql 2.卸载 mysql yum remove mysql mysql-server mysql-li ...
随机推荐
- 集中式vs分布式区别
记录一下我了解到的版本控制系统,集中式与分布式,它们之间的区别做下个人总结. 什么是集中式? 集中式开发:是将项目集中存放在中央服务器中,在工作的时候,大家只在自己电脑上操作,从同一个地方下载最新版本 ...
- VBA找不到progress bar的处理办法。
Search your pc for MSCOMCTL.Ocx. If you find it then register it by clicking on Windows Start Button ...
- easyui tree loadFilter的使用
实例化.这里增加了三个属性,可以指定idFiled,textFiled和parentField.所以这里的simpleData可以不严格转换成tree的数据格式. $(function(){ $( ...
- package.json 字段全解析
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- java 深度遍历文件夹中的所有文件
看标题就知道是什么意思了吧,所以就不多说了,直接贴代码: import java.io.*; public class files { private static void iterateFile( ...
- phpunit学习 3:
16:17 2015/12/11phpunit学习 3:单元测试的大概步骤是:编写待测试类,编写测试用例类,编写测试类,测试.1.如果你有多个类,多个测试类的test类,那么可以编写一个AllTest ...
- Android 图标尺寸与设计
样例和图解 外框:整体大小 ↑ 边框:图标留白大小 ↓ 图标:外图标的大小 ↑ 阴影:阴影特效大小 ↓ 图形:内图标的大小 ↑ 可选视图权重:使用两种类型的图形尺寸可以达到统一的视觉权重(可选), ...
- Python实战2( 接上):扫描多余中文
还是接上一篇,扫描多余中文,支持自定义忽略字段 源代码,详看 http://pan.baidu.com/s/1ntC78Zv ScanChinese.zip
- ehcache memcache redis 三大缓存
最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考! Ehcache 在Java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS ...
- 在Unity中使用TDD - 初探
描述 Editor Tests Runner是Unity中用来实现TDD的,其内部实现是基于NUnit. 其他 测试脚本要放在Editor文件夹中,测试要能够在一帧的时间内完成. 使用 打开Edito ...