Linux下将数据库从MySQL迁移到MariaDB的基础操作教程
自从2012年来,维基百科已经开始从MySQL迁移到MariaDB的过程,是维基媒体数据库架构变革的一个重大里程碑,将英文和德文版的维基百科数据库Wikidata移植到了MariaDB5.5版本上。
在过去几年中,维基百科一直使用Facebook的MySQL5.1衍生版本作为我们的产品数据库,构建版本号是r3753。我们很高兴该产品的性能表现,Facebook有着全世界最棒的数据库工程师,他们为MySQL生态系统带去了很多改进。
现在MariaDB的优化器的增强、Percona的XtraDB的特性以及Oracle5.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用户来说很简单,照着官方新闻里面的来就是了:
systemctlstopmysqld pacman-Smariadblibmariadbclientmariadb-clients systemctlstartmysqld mysql_upgrade-p
而对于openSUSE就更傻瓜式了,毕竟是默认的嘛:zypperinmariadb一句就够。
至于Debian/Ubuntu用户就要稍微复杂一些,不过整个过程还是很流畅的:
首先到MariaDB官方的RepositoryConfigurationTool去选一个合适的源,然后把给出来的地址放到/etc/apt/sources.list文件底部:
#MariaDB5.5repositorylist-created2013-03-2614:20UTC #http://mariadb.org/mariadb/repositories/ debhttp://mirror2.hs-esslingen.de/mariadb/repo/5.5/debiansqueezemain deb-srchttp://mirror2.hs-esslingen.de/mariadb/repo/5.5/debiansqueezemain接下来执行以下命令:
apt-keyadv--recv-keys--keyserverkeyserver.ubuntu.com0xcbcb082a1bb943db apt-getupdate apt-getinstallmariadb-servermariadb-client
于是MySQL(或者Percona)就自动卸载并且替换成MariaDB了,在某些具体环境下,可能还需要执行这些命令:
apt-getautoremove apt-getupgrade#orapt-getdist-upgrade mysql_upgrade-p
然后就搞定了!尽情折腾吧