Linux下将数据库从MySQL迁移到MariaDB的基础操作教程

所属分类: 数据库 / Mysql 阅读数: 1460
收藏 0 赞 0 分享

自从2012年来,维基百科已经开始从MySQL迁移到MariaDB的过程,是维基媒体数据库架构变革的一个重大里程碑,将英文和德文版的维基百科数据库Wikidata移植到了MariaDB 5.5版本上。
在过去几年中,维基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作为我们的产品数据库,构建版本号是r3753。我们很高兴该产品的性能表现,Facebook 有着全世界最棒的数据库工程师,他们为 MySQL 生态系统带去了很多改进。

现在 MariaDB 的优化器的增强、Percona 的 XtraDB 的特性以及 Oracle 5.5 的一些原因促使我们考虑升级的问题。同样重要的是,我们作为自由文化运动的支持者,维基媒体基金会强烈希望使用自由软件项目,不希望使用不同的许可证来区分自由版和企业版,我们非常欢迎和支持 MariaDB 基金会作为一个非盈利机构对 MySQL 相关数据库社区做的工作。

在做正式迁移前我们做了大量的准备工作,包括兼容性测试和性能测试,详情请看官方说明。

MySQL是世界上最流行的开源关系数据,它的名字取 自于创始人Michael "Monty" Widenius的长女“My”。2008年,Sun收购MySQL;2009年,甲骨文收购了Sun,MySQL落入了与开源社区关系紧张的甲骨文手中。Widenius与他的旧团队在2009初创建了MySQL的分支MariaDB,它的名字取自于Widenius的幼女“Maria”,他希望通过保留核心开发者和日益增长的社区帮助MariaDB挑战甲骨文的MySQL。

甲骨文与开源社区关系的恶化正促使许多发行版用MariaDB取代MySQL,现在使用MySQL的流行网站维基百科也宣布从MySQL迁移到MariaDB,部分原因是甲骨文的MySQL有免费版和企业版,而企业版的新功能没有公开源码,而MariaDB则没有这方面的问题。

ArchLinux已宣布将使用MariaDB作为MySQL的默认提供包,openSUSE已经在新近发布的12.3版中默认使用MariaDB, 连Fedora也正在考虑更换为MariaDB....
接下来,我们就来看一下Linux环境下从MySQL迁移到MariaDB的实际操作方法。

对 Arch 用户来说很简单,照着官方新闻里面的来就是了:

systemctl stop mysqld 
pacman -S mariadb libmariadbclient mariadb-clients 
systemctl start mysqld 
mysql_upgrade -p 

而对于 openSUSE 就更傻瓜式了,毕竟是默认的嘛: zypper in mariadb 一句就够。

至于 Debian/Ubuntu 用户就要稍微复杂一些,不过整个过程还是很流畅的:

首先到 MariaDB 官方的 Repository Configuration Tool 去选一个合适的源,然后把给出来的地址放到 /etc/apt/sources.list 文件底部:

# MariaDB 5.5 repository list - created 2013-03-26 14:20 UTC 
# http://mariadb.org/mariadb/repositories/ 
deb http://mirror2.hs-esslingen.de/mariadb/repo/5.5/debian squeeze main 
deb-src http://mirror2.hs-esslingen.de/mariadb/repo/5.5/debian squeeze main 

接下来执行以下命令:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db 
apt-get update 
apt-get install mariadb-server mariadb-client 

于是 MySQL(或者 Percona)就自动卸载并且替换成 MariaDB 了,在某些具体环境下,可能还需要执行这些命令:

apt-get autoremove 
apt-get upgrade # or apt-get dist-upgrade 
mysql_upgrade -p 

然后就搞定了!尽情折腾吧

更多精彩内容其他人还在看

Mac 将mysql路径加入环境变量的方法

这篇文章主要介绍了Mac如何将mysql路径加入环境变量,有需要的朋友好按照下面的步骤操作即可
收藏 0 赞 0 分享

mysql 增加修改字段类型及删除字段类型

本节主要介绍了mysql如何增加修改字段类型及删除字段类型,需要的朋友可以参考下
收藏 0 赞 0 分享

Mysql主从复制(master-slave)实际操作案例

这篇文章主要介绍了Mysql主从复制(master-slave)实际操作案例,同时介绍了Mysql grant 用户授权的相关内容,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL异常处理浅析

这篇文章主要介绍了MySQL的异常处理,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL存储毫秒数据的方法

MySQL中没有可以直接存储毫秒数据的数据类型,但是不过MySQL却能识别时间中的毫秒部分。这篇文章主要介绍了MySQL存储毫秒数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

MySql中使用INSERT INTO语句更新多条数据的例子

这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下MySql错误代码1045的解决方法

这篇文章主要介绍了Windows下MySql错误代码1045的解决方法,文中还包含了2个Linux下的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句

这篇文章主要介绍了mysql查询今天、昨天、近7天、近30天、本月、上一月的SQL语句,一般在一些统计报表中比较常用这个时间段,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql的中文数据按拼音排序的2个方法

这篇文章主要介绍了mysql的中文数据按拼音排序的2个方法,用于一些特殊环境,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL定期分析检查与优化表的方法小结

听DBA的人说,相比oracle,MySQL就是一个玩具级别的数据库,在网易门户中,DBA基本很少去管理到MySQL的东西,所以我们产品使用到的MySQL的一些配置和优化还是需要我们开发人员自己动手,下面就简单介绍一下实用的定期优化方法
收藏 0 赞 0 分享
查看更多