对于资料库运维人员来说,想要保证资料库在高效平稳的执行就有点像杂技演员在转盘子,需要灵活、专注、能快速做出反应、并且拥有冷静的头脑。资料库几乎是所有能够成功执行系统的核心。而资料库运维人员对组织的资料负责,能找到可依靠的工具来更加高效的管理资料库,并且轻松的维护日常的工作就变得格外重要。资料库运维人员因此需要更好的工具来使得他们的系统平稳执行。那什么工具才是对 MySQL 管理者来说是经过测试并且值得相信的呢?这里推荐 5 款开源工具是如何应用的。

Mycli
其只要的特征如下,

提供了程式码补全,语法高亮等功能
自动通过输入第一个字元检索表名或栏位名
通过命令列模式

其中,命令列模式的好处在于,在有著远端操作或者双重认证等安全限制的环境中,不受制约,而影象化的工具未必好用。

Gh-ost
大多数的资料库运维人员都很担心改变 MySQL 的大表表结构会影响业务,gh-ost 的设计号称无触发器,可监控,可动态调整暂停等,更重要的是切换方案的优秀设计。
通常业内的处理方式无外乎三种,一是利用 Percona 的 pt-online-schema-change,Facebook 的 OSC 等三方工具, 二是在备库修改通过切换实现滚动变更,三则是升级 MySQL 到 5.6/5.7 通过官方 Online DDL 实现部分变更。然而, 引入触发器带来的锁竞争问题, 主备切换带来的附加成本以及 Online DDL 的局限性都不让 DBA 省心。
那么 gh-ost 是怎么工作的呢?官方架构图如下:

其有两种工作方式如下:
1. 连线主库直接修改

·直连主库
·主库上建立 ghost 表
·新表 (ghost 表) 上直接 alter 修改表结构
·迁移原表资料到新表
·拉取解析 binlog 事件, 应用到新表
·cut-over 阶段, 用新表替换掉原表

2. 连线从库间接应用到主库

连线从库
校验完后, 在主库建立新表
迁移原表资料到新表
模拟从库的从库, 拉取解析增量 binlog 应用到主库
cut-over 阶段, 用新表替换掉原表

两者不同的点就在于, 通过连线从库来进行变更, 对主库的效能影响最小。
PhpMyAdmin
资历最老并且最成熟的 WEB 版 MySQL 工具。允许资料库运维人员通过浏览器对资料表进行操作。而且具有丰富的格式来展示资料。

能够动态地将问题、连线数/程序、流量绘制成图形。并且检测当效能下降时自动提供解决建议的功能。

Sqlcheck
在 MySQL 的反模式中,有兴趣的同学可以看下相关资料(SQL anti-patterns)。

SqlCheck 能将够定位的问题分为 3 类,高风险,中风险,低风险。这个能帮助列出哪些是最影响你效率的问题。你所要做的就是将档名称当作引数输入到工具中,如下图

Orchestrator
orchestrator 是一款非常实用的资料复制管理工具。它能够通过抓取资料库主从关系来生成拓扑图。并且可以通过拖拉拽的方式来重构你的资料库关系。这些操作非常安全,不会因为非法操作来损坏你的资料库。
最后,orchestrator 能够恢复当其中的节点发生故障,它应用了状态的概念来正确的恢复并且在适当的时候与主库进行连线。