当前位置: 首页 > news >正文

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

众所周知,对于数据库管理工作者(DBA)来说,保持数据正常运行在最佳状态需要具备敏捷、专注、冷静和快速的反应能力。因为数据库几乎是所有应用程序成功运行的核心,由于DBA负责组织数据,因此寻找可靠的工具帮助简化数据库管理流程并简化日常维护任务是必要的。下面是小编整理的五个好用的开源MySQL管理工具,可以改善MySQL环境中的CLI和Web管理,SQL查询,模式迁移以及复制和恢复,大家可以参考使用。

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

 

http://www.enkj.com/idcnews/Article/20180115/12710

 

转载于:https://www.cnblogs.com/elontian/p/10143181.html

相关文章:

  • day--42 前端基础小结
  • 【python】【基础】mac安装python3及pip
  • Using system view: sys.sysprocesses to check SqlServer's block and deadlock
  • JavaScript中for in 和for of的区别
  • 对于你们驳来驳去的《停止学习框架》,我有话说!
  • Linux下调整ext3分区大小【转】
  • 大快搜索获评“2018中国大数据基础软件领域领军企业”
  • leetcode讲解--894. All Possible Full Binary Trees
  • React降级配置及Ant Design配置
  • 解决iOS10的Safari下Meta设置user-scalable=no无效的方法
  • 中国智慧城市“热战”的2018
  • django之中间件及CSRF跨站请求伪造-68
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Win7 64位 Hadoop单机模式安装
  • 技术发展面试
  • 【node学习】协程
  • cookie和session
  • create-react-app项目添加less配置
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Kibana配置logstash,报表一体化
  • leetcode-27. Remove Element
  • PHP变量
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 工程优化暨babel升级小记
  • 基于遗传算法的优化问题求解
  • 前端相关框架总和
  • 详解移动APP与web APP的区别
  • 携程小程序初体验
  • 中文输入法与React文本输入框的问题与解决方案
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​ubuntu下安装kvm虚拟机
  • (1)STL算法之遍历容器
  • (C++20) consteval立即函数
  • (笔试题)分解质因式
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十六)一篇文章学会Java的常用API
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • ***测试-HTTP方法
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET多线程执行函数
  • .NET开发人员必知的八个网站
  • .NET企业级应用架构设计系列之技术选型
  • .NET企业级应用架构设计系列之开场白
  • .net下的富文本编辑器FCKeditor的配置方法
  • @html.ActionLink的几种参数格式
  • []sim300 GPRS数据收发程序
  • [ACTF2020 新生赛]Upload 1
  • [Android 数据通信] android cmwap接入点
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [c]扫雷