-
中文名
- MariaDB数据库管理系统 外文名
- MariaDB 所 属
- MySQL的一个分支
-
主要维护者
- 开源社区 类 别
- 存储引擎 进 制
- 二进制 授权许可
- GPL
High Performance
|
Developers
|
DBAs
|
NoSQL
|
---|---|---|---|
Thread pool
线程池
|
Microsecond precision & type
微秒支持
|
Segmented MyISAM keycache
MyISAM缓存分段
|
HandleSocket
直接InnoDB/XtrDB访问
|
Group commit for the binary log
binlog组提交
|
SphinxSE for full-text search
SphinxSE全文索引支持
|
Authentication plugins - PAM, Active Directory
授权插件
|
Dynamic columns
动态列
|
Non-blocking client library
非阻塞库
|
Subqueries materialize
子查询优化
|
LIMIT ROWS EXAMINED
LIMIT行检查限制
|
|
GIS functionality
地理信息系统支持
|
Progress reporting
进度报告
|
如下是支持MariaDB的客户端工具:
DBEdit 一个免费的MariaDB数据库和其他数据库管理应用程序。
Navicat 一系列Windows、Mac OS X、Linux下专有数据库管理应用程序。
HeidiSQL 一个Windows上自由和开放源码的MySQL客户端。它支持MariaDB的5.2.7版本和以后的版本。[5][6]
phpMyAdmin 一个基于网络的MySQL数据库管理应用程序
-
数据和表定义文件(.frm)文件是二进制兼容的。
-
所有客户端APIs,协议和结构都是相同的。
-
所有的文件名、二进制文件的路径、端口、套接字等等……应该是相同的。
-
所有MySQL的连接器(PHP Python Perl Java .NET MyODBC Ruby MySQL C连接器等) 和MariaDB的不变。
-
-
有一些和PHP5的安装问题要注意(一个和老的PHP5如何检查库兼容性的bug)。
-
-
mysql-client包还可以与MariaDB服务器一起工作。
-
安装的包名称,用MariaDB代替MySQL。
-
时间控制可能不同,MariaDB在许多情况下比MySQL快。
-
mysqld在MariaDB读取是my.cnf中[MariaDB ]的部分。
-
如果它不是完全相同的MariaDB编译版本,不能使用仅提供二进制的存储引擎库给MariaDB使用 (这是因为服务器内部结构THD在MySQL和MariaDB之间不同。这也是与常见的MySQL版本不同的)。这应该不是问题,因为对于大多数人不加载新存储引擎,MariaDB比MySQL带有更多的存储引擎。
-
CHECKSUM TABLE可能产生不同的结果,由于MariaDB并不忽视NULL的列,MySQL 5.1忽略(未来的MySQL版本应该计算checksums和MariaDB一样)。在MariaDB 开启mysqld –old选项,您可以得到“旧式”的校验和。但是要注意,这个MyISAM存储引擎和Aria 存储引擎在MariaDB实际上在内部使用新的checksum,因此,如果您使用的是—old , CHECKSUM命令将会更慢,因为它需要,一行一行的计算checksum。
-
慢速查询日志有更多信息关于查询, 如果有一个脚本解析慢速查询日志这可能是一个问题。
-
MariaDB默认情况下比MySQL需要更多的内存,因为我们有默认情况下启用Aria存储引擎处理内部临时表。如果需要MariaDB使用很少的内存(这是以牺牲性能为代价的),您可以设置aria_pagecache_buffer_size的值为 1M(默认值为128M)。
-
新增SQL_MODE的取值:IGNORE_BAD_TABLE_OPTIONS。如果未设置该值,使用一个表、字段或索引的属性(选项)不被支持的存储引擎将会导致错误。这个变化可能引起警告不正确的表定义出现在错误日志中,请利用mysql_upgrade修复这个警告。
-
一些错误信息涉及到错误转换的,MariaDB的差别在于消息中提供了更多的信息关于到底是哪里出了错。
-
MariaDB专用的错误编号已经从1900开始,为的是不与MySQL的错误冲突。
-
MariaDB在所有工作场景中可以基于微秒计时工作;而MySQL在某些情况下,如datetime和time,确实会丢失微秒部分。
-
旧的--maria启动选项被删除。应该使用--aria前缀代替。(MariaDB 5.2都支持这—maria-和- aria-)
-
SHOW PROCESSLIST有一个额外的process列,显示一些命令的进度。您可以启动mysqld用–old 标志禁用它。
-
INFORMATION_SCHEMA.PROCESSLIST对进度报告有三个新列: STAGE, MAX_STAGE和 PROGRESS。
-
以/*M! 或/*M!#####起头的长注释会得到执行。
-
如果使用max_user_connections = 0(也就是说任何数量的连接)启动mysqld,您就不能在mysqld运行时修改全局变量了。这是因为当mysqld以max_user_connections = 0启动时,它不分配计数结构(包括每个连接的互斥锁)。如果稍后改变变量,这将导致错误的计数器。如果希望在运行时能改变这个变量,请在启动时将它设置为一个较高的值。
-
可以设置max_user_connections(包括全局变量和GRANT选项两种场景)为-1来阻止用户连接到服务器。全局变量max_user_connections变量不影响拥有super特权的用户连接。
-
innodb-adaptive-checkpoint;请使用innodb_adaptive_flushing_method 替代。
-
innodb-auto-lru-dump;请使用innodb_buffer_pool_restore_at_startup 替代。
-
innodb-blocking-lru-restore;请使用innodb-blocking-buffer-pool-restore 替代。
-
innodb-enable-unsafe-group-commit
-
innodb-expand-import;请使用 innodb_import_table_from_xtrabackup 替代。
-
innodb-extra-rsegments;请使用innodb_rollback_segment 替代。
-
innodb-extra-undoslots
-
innodb-fast-recovery
-
innodb-flush-log-at-trx-commit-session
-
innodb-overwrite-relay-log-info
-
innodb-pass-corrupt-table;请使用innodb_corrupt_table_action 替代。
-
innodb-use-purge-thread
-
xtradb-enhancements
评论(0)