对于数据库运维人员来说,想要保证数据库在高效平稳的运行就有点像杂技演员在转盘子,需要灵活、专注、能快速做出反应、并且拥有冷静的头脑。数据库几乎是所有能够成功运行系统的核心。而数据库运维人员对组织的数据...

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

1、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。

2、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。

3、PhpMyAdmin

MySQL工具中运行时间最长,最成熟的项目之一是用于通过Web管理MySQL的古老PhpMyAdmin工具。phpMyAdmin允许DBA浏览和修改MySQL数据库对象:数据库,表,视图,字段和索引。有多种选项可使用十几种格式执行数据导出,修改MySQL用户和权限,以及执行临时查询。

PhpMyAdmin状态页面显示问题(连接/流程和流量图):

可以找到一个“状态”选项卡,动态绘制给定数据库实例问题,连接/进程和网络流量以及“Advisor ”选项卡,显示可能的性能问题列表以及如何修复的建议。

PhpMyAdmin开始屏幕:

PhpMyAdmin使用GPLv2许可证,这是一个超过800个贡献者的项目,112k提交和2.7k Star。

4、Sqlcheck

SQL反模式可能会降低查询速度,但通常需要经验丰富的DBA和开发人员仔细研究代码来识别和解决这些问题。Sqlcheck反映了Karwin确定的四类反模式:

·Logical database design

·Physical database design

·Query

·Application development

工作中的Sqlcheck:

Sqlcheck可以针对不同的风险分为低风险,中风险或高风险三大级别。如果反模式列表很大,这会很有帮助,因为可以优先考虑对性能影响最大的查询。要做的是收集一个不同的查询列表到文件,然后将它们作为参数传递给该工具。

5、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管理员角色的不同方面。这些工具是免费开源的,如果需要,也可以根据自己的环境需求进行调整,也可以不加修改地直接使用。

五大好用的开源MySQL管理工具相关推荐

  1. Mysql开源免费管理工具

    推荐Mysql开源免费管理工具 学习Mysql的时候看到推荐用Navicat或者sqlyog来管理数据库,但是这些是要收费的,我相信很多学习的朋友和我一样,不太喜欢用破解版,又不想在学习的时候买正版( ...

  2. dba用什么工具连接mysql_DBA必备的15款MySQL管理工具

    原文:http://www.techxue.com/techxue-11898-1.html 如今,Web应用程序的响应速度是成功的关键法宝之一.它与用户互动,用户对网站的看法,甚至谷歌网站排名情况都 ...

  3. MySQL管理工具HeidiSQL

    MySQL管理工具HeidiSQL HeidiSQL 是一个功能非常强大的 MySQL 客户端软件.它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具.要通过Heidi ...

  4. 组件分享之后端组件——阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos...

    组件分享之后端组件--阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件 ...

  5. 15款最佳的MySQL管理工具和应用程序

    [转]15款最佳的MySQL管理工具和应用程序@TOC 工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL, ...

  6. 一款高颜值开源知识管理工具

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 大家好,我是章鱼猫. 今天推荐的这个项目是「think」,云策文档,一款开源知识管理工具,通过独立的知识库空间,结构化地组 ...

  7. mysql 导出dmp文件_15款优秀的mysql管理工具与应用程序推荐

    对于开发人员来说,mysql管理工具可以说是必不可缺的,它能帮助开发人员在许多方面支持包括PostgreSQL.MySQL.Redis.MongoDB等在内的多种数据库:同时还能提供包括触发器.事件. ...

  8. python测试用例管理工具_三款开源测试管理工具推荐

    测试管理包括测试过程中的测试计划,测试执行以及执行结果的存储和分析. 具体来说就是和其它工具比如需求管理工具,功能测试工具比如Selenium和Cucumber,持续集成工具比如Jenkins和Tea ...

  9. 第四篇:mysql管理工具

    一,常见mysql管理工具 1,MySqL workbench 2,phpmyadmin (一般和mysql服务器安装一台机子上)

  10. python开发软件的实例-由Python编写的MySQL管理工具代码实例

    本文实例为大家分享了由Python编写的MySQL管理工具的具体代码,供大家参考,具体内容如下 import pymysql import pandas as pd from tkinter impo ...

最新文章

  1. 信息安全系统设计基础第十二周学习总结
  2. makefile入门
  3. 在 OpenGL ES 2.0 上实现视差贴图(Parallax Mapping)
  4. UBUNTU 12.04 下配置 HAXM 加速 ANDROID模拟器
  5. java 配置信息_[Java教程]java 配置信息类 Properties 的简单使用
  6. Eclipse系列的隐藏宝藏-2019年版
  7. mysql 的 sql_mode.only_full_group_by属性解析
  8. 在jetson tx2上使用pascal VOC0712训练caffe-ssd
  9. vs中git工具的使用
  10. 最棒的PHP后台管理系统
  11. 一个好用的PLC调试神器
  12. 孤军奋战的百合网 下一城会在哪?
  13. Abis接口的概念和引发的商业策略
  14. 使用mysql管理系统建表时,字段中有PK,NN,UQ,BIN,UN,ZF,AI基本字段类型标识的意义
  15. 综论数据库防火墙的自我修养系列之一:高可用性
  16. 学校做计算机教室锐捷,云课堂:让学生爱上每一节课
  17. 关于Visual Assistant X助手在定位函数及结构体成员变量不准确的问题
  18. 计算机视觉论文速递(七)FAN:提升ViT和CNN的鲁棒性和准确性
  19. 网络流-最大流(Ford-Fulkerson算法Dinic算法)
  20. html5 获取页面的宽和高

热门文章

  1. python3.7怎么用ghost.py_python ghost.py使用笔记
  2. 智能生成标题 易语言代码
  3. JAVA毕业设计台球收费管理系统设计与实现计算机源码+lw文档+系统+调试部署+数据库
  4. C语言程序设计教程(第三版)课后习题6.3
  5. Linux下软件管理方式
  6. 项目管理之项目周报模板
  7. layui 时间控件(laydate) 闪退问题
  8. cadnaa噪声分析测试软件,Cadna/A软件介绍
  9. R语言建立ARIMA模型预测数据
  10. tableau的下载安装及简单使用