热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ArchLinux系统将MySQL数据库迁移到MariaDB的方法

迁移步骤:1、停止正在运行的Mysql服务#systemctlstopmysqld2、安装mariadb及升级工具等#pacman-Smariadblibmariadbclientmariadb-clients3、重启Mysql服务#systemctlstartmysqld4、对已存在的库进行升级#mysql_upgr
  迁移步骤:
  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)。

推荐阅读
author-avatar
回忆的沙漏2502890423
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有