本文会列举一些 MySQL 常用的客户端命令,已经一些使用经验。mysql 客户端命令会知道 SQL 语句以分号 ;,或者 \g 或者 \G 结尾。

使用 \G

通常 mysql client 都是以表格的形式显示结果,通常情况排版会有一些问题,这时可以使用 \G,比如说

SHOW DATABASES \G

此时的输出结果会用 * 号来优化显示,

使用 \P 设置 pager

在 Linux 系统下,可以使用 pager 程序来显示超长的输出结果, pager 提供了在结果中导航的功能,可以使用键盘,鼠标,或者其他方法来在结果中快速导航。一些好的 pager 可以使 less, more lv 等等。

首先使用 \P 来查看

MariaDB [(none)]> \P

然后使用 \P less 来设置。

有些结果可能只关心其中列,比如

SHOW ENGINE InnoDB STATUS \G

如果只关心 IO 可以设置 \P grep 'I/O thread' 那么再次运行上面的命令,结果就是过滤后的了。

另一个比较有意思的 pager 是 md5sum,将 md5sum 设置为 pager ,那么结果是每一个查询输出都会显示 MD5 hash,通常可以用来比较两个结果是否一样。

\P md5sum
SELECT * from XXXX

存储引擎

InnoDB 成为了 MariaDB 5.5 和 MySQL 5.5 的默认存储引擎。Percona 维护一个 InnoDB 的 fork 分支。

TokuDb 引擎由 Tokutek 开发,从 5.5 起包含在 MariaDB 中,需要安装并单独开启。支持 transactions with savepoints, XA transactions , 但是不支持外键全文索引。和 InnoDb 非常不同,只要是使用了一个新的数据结果用来索引:the fractal trees. 和 B 树相似,但是每个节点都有缓存。另一个 TokuDb 的特征是数据压缩,数据压缩不能禁用。

MyISAM 历史的存储引擎,MySQL 和 MariaDB 在 5.5 版本以下的默认。

reference

  • 《Mastering MariaDB》