mariadb
迁移步骤:
1、停止正在运行的mysql服务
# systemctl stop mysqld
2、安装mariadb及升级工具等
# pacman -s mariadb libmariadbclient mariadb-clients
3、重启mysql服务
# systemctl start mysqld
4、对已存在的库进行升级
# mysql_upgrade -p
为什么要弃用mysql?
为什么要弃用mysql?这其中是有典故:
mysql之父widenius先生离开了sun之后,觉得依靠sun/oracle来发展mysql实在很不靠谱,于是决定另开分支,这个分支的名字叫做mariadb。
mariadb跟mysql在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前mariadb是发展最快的mysql分支版本,新版本发布速度已经超过了oracle官方的mysql版本。
在oracle控制下的mysql开发,有两个主要问题:
1. mysql核心开发团队是封闭的,完全没有oracle之外的成员参加。很多高手即使有心做贡献,也没办法做到。
2. mysql新版本的发布速度,在oracle收购sun之后大为减缓。widenius有一个ppt,用数据比较了收购之前和之后新版本的发布速度。有很多bugfix和新的feature,都没有及时加入到发布版本之中。
以上这两个问题,导致了各个大公司,都开发了自己定制的mysql版本,包括yahoo!/facebook/google/阿里巴巴+淘宝网等等。
mysql是开源社区的资产,任何个人/组织都无权据为己有。为了依靠广大mysql社区的力量来更快速的发展mysql,另外开分支是必须的。
mariadb特点:
mariadb基于事务的maria存储引擎,替换了mysql的myisam存储引擎,它使用了percona的 xtradb,innodb的变体,分支的开发者希望提供访问即将到来的mysql 5.4 innodb性能。这个版本还包括了 primebase xt (pbxt) 和 federatedx存储引擎。
mariadb默认的存储引擎是aria,不是myisam。aria可以支持事务,但是默认情况下没有打开事务支持,因为事务支持对性能会有影响。可以通过以下语句,转换为支持事务的aria引擎。alter tabletablenameengine=mariatransactional=1;
mariadb 是一个采用maria存储引擎的mysql分支版本,是由原来 mysql 的作者michael widenius创办的公司所开发的免费开源的数据库服务器。
这个项目的更多的代码都改编于 mysql 6.0,例如 “pool of threads”功能提供解决多数据连接问题。
与 mysql 相比较,mariadb 更强的地方在于:
maria存储引擎pbxt 存储引擎
xtradb存储引擎
federatedx存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 extensions (more index parts, new startup options etc)
更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 unicode 的排序
相对于mysql最新的版本5.6来说,在性能、功能、管理、nosql扩展方面,mariadb包含了更丰富的特性。。比如微秒的支持、线程池、子查询优化、组提交、进度报告等。
需要注意的是:
mariadb默认情况下比mysql需要更多的内存,因为默认情况下需要启用aria存储引擎处理内部临时表。如果需要mariadb使用很少的内存(这是以牺牲性能为代价的),可以设置aria_pagecache_buffer_size的值为 1m(默认值为128m)。
原文链接:http://blog.sina.com.cn/s/blog_69e5d8400101bofg.html