众所周知,对于数据库管理工做者(DBA)来讲,保持数据正常运行在最佳状态须要具有敏捷、专一、冷静和快速的反应能力。由于数据库几乎是全部应用程序成功运行的核心,因为DBA负责组织数据,所以寻找可靠的工具帮助简化数据库管理流程并简化平常维护任务是必要的。下面是小编整理的五个好用的开源MySQL管理工具,能够改善MySQL环境中的CLI和Web管理,SQL查询,模式迁移以及复制和恢复,你们能够参考使用。php
一、Mycli数据库
Mycli项目提供MySQL命令行自动完成和语法高亮显示,它是最流行的MySQL管理工具之一。安全
诸如跳转主机和双因素认证之类的安全限制使许多MySQL DBA只能经过命令行访问系统。在这种状况下,心爱的GUI工具(如MySQL Workbench,Monyog等)不是合适的选择。服务器
使用命令行的过程当中,大部分时间都花在了黑色的终端世界。Mycli最好的一点就是语法突出的丰富性。例如,它容许DBA在WHERE子句中将查询字符串中的函数和运算符在视觉上分离出来。对于简短的单行查询来讲,这可能不是什么大不了的事情,可是当使用多表执行JOIN操做查询时,这就变成了巨大优点。网络
Mycli支持多行查询和语法突出显示,这意味着能够在查看或优化查询时最重要的部分,能够选择多种语法高亮配色方案或建立本身的配色方案。函数
Mycli的另外一个明星功能是智能完成,容许经过输入前几个字符来从上下文相关列表中选择表名和列名。不须要由于忘记WHERE子句中列的名称而放弃当前输入运行SHOW CREATE TABLE。工具
在Mycli中的智能完成:性能
使用Mmycli,用户可使用 s等来查询,例如 fs myAlias myQuery。 这很是方便,只要须要,就可使用 f myAlias执行查询。测试
Mycli项目使用BSD 3许可证,项目目前有44个贡献者,1.2k提交和5k Star。优化
二、Gh-ost
99%的MySQL数据库管理员(DBA)在执行对MySQL表的更改时担忧会影响生产,能够考虑Gh-ost(GitHub Online Schema Migration)。Gh-ost提供MySQL模式更改,不会阻塞写入,不使用触发器,而且能够暂停和恢复迁移!
为何这个如此重要?因为MySQL 5.6提供了新的ALTER TABLE ... ALGORITHM = INPLACE DDL(数据定义语言)功能,所以有可能修改一个表而不阻塞写操做,例如添加索引(B-tree)等经常使用操做。可是,在写入(DML语句)被阻塞的状况下,最显着的是增长了FULLTEXT索引,表空间的加密以及列类型转换。
其余流行的在线模式更改工具(如Percona的pt-online-schema-change)经过在主服务器上实现一组三个触发器(INSERT,UPDATE和DELETE)来保持shadow副本表与变化同步。这会因为写入放大而致使较小的性能损失,但更重要的是须要七个元数据锁定实例。这些有效地阻止了DML(数据操纵语言)事件。
因为Gh-ost使用二进制日志进行操做,所以不会受到基于触发器的缺点影响。最后,若是服务器出问题,能够暂停模式迁移一段时间,并在恢复后继续。
Gh-ost操做模式:
Gh-ost提供了一种替代模式,能够直接在主服务器(不论是否有从服务器)上执行迁移,读取主服务器的binlog_format = ROW事件,而后将其从新应用到shadow表中。
最后一个选项可用于仅在副本上运行迁移,而不会影响主服务器,所以能够测试或以其余方式验证迁移。
Gh-ost通常流程:
请注意,若是模式具备外键,那么Gh-ost可能没法运行,由于此配置不受支持。oak-online-alter-table是Gh-ost的前身,DBA能够阅读Percona首席执行官Peter Zaitsev以及OAK工具包和Gh-ost的做者和维护人员Shlomi Noach的回应,比较Gh-ost和pt-online-schema-change的性能。
Gh-ost项目使用MIT许可证,该项目目前有29个贡献者,近1k的提交和3k Star。
三、PhpMyAdmin
MySQL工具中运行时间最长,最成熟的项目之一是用于经过Web管理MySQL的古老PhpMyAdmin工具。phpMyAdmin容许DBA浏览和修改MySQL数据库对象:数据库,表,视图,字段和索引。有多种选项可以使用十几种格式执行数据导出,修改MySQL用户和权限,以及执行临时查询。
PhpMyAdmin状态页面显示问题(链接/流程和流量图):
能够找到一个“状态”选项卡,动态绘制给定数据库实例问题,链接/进程和网络流量以及“Advisor ”选项卡,显示可能的性能问题列表以及如何修复的建议。
PhpMyAdmin开始屏幕:
PhpMyAdmin使用GPLv2许可证,这是一个超过800个贡献者的项目,112k提交和2.7k Star。
四、Sqlcheck
SQL反模式可能会下降查询速度,但一般须要经验丰富的DBA和开发人员仔细研究代码来识别和解决这些问题。Sqlcheck反映了Karwin肯定的四类反模式:
·Logical database design
·Physical database design
·Query
·Application development
工做中的Sqlcheck:
Sqlcheck能够针对不一样的风险分为低风险,中风险或高风险三大级别。若是反模式列表很大,这会颇有帮助,由于能够优先考虑对性能影响最大的查询。要作的是收集一个不一样的查询列表到文件,而后将它们做为参数传递给该工具。
五、Orchestrator
Orchestrator是高可用性管理工具,它提供了发现MySQL环境的复制拓扑能力,经过上下连接来识别主从。它也能够经过GUI重构复制拓扑结构,提供一个拖放界面将从设备提高为主设备,这是一个很是安全的操做。事实上,Orchestrator拒绝任何非法操做,以避免破坏系统。
最后,Orchestrator在节点遭遇失败时能够支持恢复,由于它使用状态的概念智能选择正确的恢复方法,并决定使用适当的主升级过程。
Orchestrator是GitHub的Shlomi Noach提供的另外一个工具。它由Apache许可证2.0涵盖,该项目有34位贡献者,2,780个提交和900颗Star。
Orchestrator为MySQL复制和恢复提供了一个窗口,除此以外,还有一个很棒的免费工具——PMM。它整合了许多最佳开源工具,包括Orchestrator的优势,以提供全面的数据库监控和管理功能。它支持MySQL,MariaDB和MongoDB服务器。
上述每一个工具涉及到MySQL管理员角色的不一样方面。这些工具是免费开源的,若是须要,也能够根据本身的环境需求进行调整,也能够不加修改地直接使用。
http://www.enkj.com/idcnews/Article/20180115/12710