迁移步骤:
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)。
分享到:
相关推荐
以下是在已安装MySQL的情况下,安装MariaDB的主要步骤. [root@mariadb-near-mysql ~]# cat /etc/issue CentOS release 6.2 (Final) [root@mariadb-near-mysql ~]# rpm -qa mysql* mysql-5.1.61-1.el6_2.1....
MariaDB的审计日志插件与MySQL 8.0可能存在兼容性问题,这是本问题的核心所在。 首先,我们需要确认MySQL的版本,可以通过执行`show VARIABLES like '%version%'`来获取。确保你知道当前运行的是MySQL的确切版本,...
MariaDB的主要目标是成为MySQL的替代品,它不仅在API和命令行接口上与MySQL保持一致,而且在许多功能上进行了增强。例如,MariaDB采用了XtraDB(基于InnoDB的分支)作为其默认存储引擎,提供更好的性能和稳定性。...
MariaDB and MySQL Common Table Expressions and Window Functions Revealed introduces and explains CTEs and window functions, newly available in MariaDB 10.2 and MySQL 8.0, and helps you understand why ...
### MariaDB与Oracle MySQL对比分析 #### 一、引言 在数据库管理系统(DBMS)领域,MariaDB与Oracle MySQL作为两个备受关注的关系型数据库系统,它们之间的比较一直备受瞩目。本文将从多个角度深入探讨两者之间的...
MariaDB和MySQL是两种广泛使用的开源关系型数据库管理系统(RDBMS)。它们在许多方面具有相似性,因为MariaDB实际上是由MySQL的创始人开发的一个分支,旨在保持与MySQL的高度兼容性,同时提供更多的功能和改进。 **...
MariaDB数据库,完全兼容MySQL。 Delphi 等编译型语言连接MariaDB数据库需要使用的DLL 网上很难找到,我找了很久才找到。 版本:win32 : 3.1.4 win64 : 3.2.3 将对应的32位或者64位DLL放到执行文件目录中或者...
Java是广泛应用于开发数据库应用程序的语言,而MySQL和MariaDB是两个非常流行的开源关系型数据库管理系统。在Java中连接这些数据库通常需要使用特定的驱动程序,也就是我们常说的JDBC(Java Database Connectivity)...
标题“mariadb和mysql的jar包”表明了这是一个关于数据库连接的资源集合,其中包含了MariaDB和MySQL两个流行的开源数据库系统的Java应用程序接口(JAR)文件。这些JAR包通常用于Java开发环境中,使得Java程序能够...
MariaDB作为MySQL的直接替代品,不仅继承了MySQL的全部功能,还不断增加新功能,强化了社区的持续贡献。MariaDB的发布策略和开发模式确保了它能够适应数据库技术的未来趋势,并保持了与MySQL相比的竞争力。 此外,...
MariaDB and MySQL Common Table Expressions and Window Functions Revealed 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
3. **依赖库缺失**: 如果遇到运行时错误,可能是因为缺少MySQL/MariaDB客户端库,确保已将其部署。 总结,为了在Qt6中使用64位MySQL/MariaDB驱动,你需要编译特定的驱动,正确部署驱动及依赖库,并在代码中利用`Qt...
如果是使用C++调用MariaDB自带的API操作数据库,那么在对数据库做增删改查之前,一定要先调用mysql_set_character_set()接口将字符集设置为”gb2312”,然后操作中文就没问题。 mysql_set_character_set()函数可以...
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
在.NET开发环境中,如果你需要使用C#语言与MariaDB数据库进行交互,MySQL Connector/Net是一个不可或缺的组件。这个连接库是Oracle公司为.NET开发者提供的,它允许C#应用程序与MySQL和MariaDB数据库进行无缝通信。...
MariaDB是MySQL的二进制替代品MariaDB是同一MySQL版本的二进制替代品(例如MySQL 5.1->MariaDB 5.1, MariaDB5.
mysql 操作 mariadb 操作
开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,...
MariaDB,作为MySQL的一个分支,是由MySQL的原始开发者们在2009年创立的,主要目的是为了保持数据库系统的开放源代码性质,并提供一个不受Oracle公司控制的替代选择。这个数据库管理系统(DBMS)在设计上与MySQL高度...
MariaDB则由MySQL的创始人为了保持开源精神而创建,其设计目标是完全兼容MySQL,提供更好的性能、安全性和可扩展性。MariaDB基于MySQL 5.5,但引入了更多的创新,如XtraDB存储引擎(基于InnoDB)和Aria事务日志引擎...