mysql基本管理工具_适用于管理员的10种基本MySQL工具

mysql基本管理工具

MySQL是一个复杂的系统,需要许多工具来修复,诊断和优化它。 对于管理员来说幸运的是,MySQL吸引了一个充满活力的开发人员社区,他们推出了高质量的开源工具来帮助解决MySQL系统的复杂性,性能和运行状况,其中大多数都是免费提供的。

对于使用MySQL的任何人(从独立实例到多节点环境),以下10个开源工具都是宝贵的资源。 该列表在编制时考虑了多种多样。 您将找到工具来帮助备份MySQL数据,提高性能,防止数据漂移以及在出现问题时记录相关的故障排除数据。

[相关: MySQL 8.0中的新增功能 | 什么是SQL? 数据库的语言解释了 | 数据库慢吗? 通过这17条规则来提高SQL查询的速度和可伸缩性,从而提高RDBMS的速度和可伸缩性。 7个基本SQL Server安全提示 ]

为什么要考虑使用这些工具而不是创建自己的内部工具有多个原因。 首先,由于它们的广泛使用,它们已经成熟并经过了现场测试。 其次,因为它们是免费和开源的,所以他们从MySQL社区的知识和经验中受益。

这些工具中的许多工具都由MySQL和其他开放源数据库解决方案的提供商Percona积极维护,因此它们会继续改进并适应不断发展MySQL行业。 请注意,不再维护两个工具-mycheckpoint和oak-security-audit。 但是,您可能仍然发现它们很有用。

请记住,还有更多值得您注意的工具。 我选择强调自由和开源,并在实用性和可用性方面犯了错误。 还应注意,它们都是Unix命令行程序,但是其中一个,很大程度上是因为MySQL在Unix系统上的部署和开发更加广泛。

现在,让我们满足这10个基本MySQL管理工具。

基本MySQL管理工具:pt-query-digest

没有什么比缓慢MySQL性能令人沮丧的了。 通常情况下,更快的硬件会引发问题,这种解决方案仅在实际上要怪硬件的情况下才有效。 通常,性能不佳可归因于缓慢执行的查询阻止了其他查询,从而造成响应时间缓慢的连锁React。 因为优化查询比升级硬件便宜很多,所以MySQL优化的逻辑第一步是查询日志分析。

数据库管理员应根据环境的波动性频繁分析查询日志。 而且,如果您从未执行过查询日志分析,那么就该开始了,即使您依赖的是第三方软件,通常也可以假设对第三方软件进行了优化,而实际上并非如此。

很棒的查询日志分析器是pt-query-digest 。 它由男爵·施瓦茨(Baron Schwartz)和我本人共同编写,经过积极开发,充分记录和全面测试。 MySQL发行版包括查询日志分析器mysqldumpslow,但该工具已过时,文档记录不充分且未经测试。

pt-query-digest分析查询日志并生成包含有关执行时间和其他指标的汇总统计信息的报告。 由于查询日志通常包含数千个(即使不是上百万个)查询,因此查询日志分析需要一种工具。

与其他查询相比,pt-query-digest可以帮助您找到执行时间最长的查询。 优化这些缓慢的查询将通过减少最大的延迟来使MySQL运行更快。 查询优化的真正技巧更加细微,但基本目标是相同的:查找慢速查询,优化它们并增加查询响应时间。

该工具易于使用; 执行pt-query-digest slow-query.log将在slow-query.log中显示最慢的查询。 该工具包括对“查询评论”的支持,用于报告您尚未查看或批准的查询,从而使频繁的日志分析变得快速而有效。

您可以从Percona 下载pt-query-digest 。 它也可以作为Percona Toolkit的一部分使用。

必备MySQL管理工具:mydumper

能够快速生成数据转储对于备份和服务器克隆至关重要。 不幸的是,MySQL发行版附带的mysqldump是单线程的,因此对于数据密集型作业来说太慢了。 幸运的是,现代替代品mydumper使用多个线程,使其比mysqldump快许多倍。

也称为MySQL Data Dumper,此工具不管理备份集,差异或完整备份计划的其他部分。 它只是尽可能快地从MySQL转储数据,使您能够在紧张的时间限制下(例如,在员工离线时在夜间)完成备份,或者比使用mysqldump更频繁地执行备份。

了解mydumper的一个技术要点是它锁定表,因此它不是在工作时间内执行备份的理想工具。 再说一次,专业数据恢复每小时收费数百美元,即使数据不可恢复,您也总是会收到帐单。 mydumper是免费的,非常值得探索甚至基本备份。

克隆服务器时,mydumper也会派上用场。 其他工具可执行完整的硬盘驱动器复制,但是当您只需要MySQL数据时,mydumper是最快的获取方式。 云中配置的服务器特别适合使用mydumper进行克隆。 只需从现有服务器中转储MySQL数据并将其复制到新实例即可。

克隆对于创建从属服务器,基准测试和性能分析是值得的,但是在测试和开发中,克隆在任何地方都没有比这更重要。 对于动态MySQL环境,能够上线副本以便在上线之前进行快速测试是必不可少的。 借助mydumper,您可以快速创建与生产服务器几乎相同的服务器,从而使测试结果更好地模拟生产结果。

您可以从GitHub 下载mydumper

必备MySQL管理工具:XtraBackup

如果您的数据库每天整天都在使用,而不会在“整夜”期间锁定表进行备份,那么XtraBackup是您的解决方案。 这个免费的开源工具执行无阻塞备份,允许备份在事务系统上运行,而应用程序仍然完全可用。

XtraBackup还提供增量备份,允许您仅备份自上次完整备份以来已更改的数据。 鉴于这些小得多的备份会降低性能,因此将增量备份添加到备份过程中非常有用。

围绕XtraBackup成长的一个项目使管理完整备份计划变得更加容易: XtraBackup Manager 。 该工具添加了高级功能,例如按组轮换备份和备份集到期。 XtraBackup和XtraBackup Manager一起是一个强大而免费的备份解决方案。

您可以从Percona 下载XtraBackup 。 可以从Google代码档案库GitHub下载XtraBackup Manager。

必备MySQL管理工具:tcprstat

tcprstat可能是此列表中最深奥的工具。 tcprstat监视TCP请求并打印有关低级响应时间的统计信息。 当您熟悉了考虑性能的响应时间方法时,tcprstat的收益就很重要。

Cary Millsap和Jeff Holt在《 优化Oracle性能 》一书中详细阐述了该原理,该原理同样适用于MySQL。 基本思想是服务,在本例中为MySQL,它接受一个请求(查询),满足该请求(执行时间),并以结果(结果集)进行响应。 服务的响应时间是接收请求和发送响应之间的时间跨度。 响应时间越短,在相同的时间内可以处理的请求越多。

并行处理和其他低级因素在这里起着重要作用,但简化的结果是,一个八小时的工作日有28,800秒,因此响应时间缩短了十分之四秒(从0.5到0.1秒)。导致每天有230,400多个请求得到处理。 tcprstat可帮助您实现这一目标。

本文中只有足够的空间来激发您的好奇心,因此,我将通过告诉您迈入MySQL响应时间优化入门的第一步,结束本工具的介绍:阅读优化Oracle性能 。 然后开始使用tcprstat。

您可以从GitHub 下载tcprstat

基本MySQL管理工具:pt-table-checksum

对于动态MySQL环境,“数据漂移”是一个重大问题。 从设备数据与主设备不同步的问题通常是由于将数据写入从设备或在主设备上执行某些不确定性查询引起的。 更糟糕的是,直到数据差异变得残酷不堪,数据差异才会被注意到。 输入pt-table-checksum ,这是执行复杂的敏感计算所必需的工具,以验证两个或多个表中的数据是否相同。

pt-table-checksum可与独立服务器以及复制层次结构中的服务器一起使用,在其中可以轻松看到工具的最大价值。 验证主服务器和从服务器之间的表数据必须考虑复制一致性。 由于对主服务器的更改会以一定的时间延迟(“滞后”)复制到从属服务器,因此,鉴于数据不断变化且在完全复制之前是不完整的,仅从服务器读取数据是验证一致性的不可靠方法。 锁定表并等待所有数据复制将允许一致的读取,但是这样做将意味着有效地停止服务器。 pt-table-checksum允许您对主数据和从数据执行无阻塞,一致的校验和。

除了复制一致性之外,验证数据还有其他问题。 表大小就是其中之一。 MySQL命令CHECKSUM TABLE对于小表已足够,但是大表需要“分块”,以避免长锁或通过校验和计算而导致CPU或内存资源过载。

分块解决了第二个问题:需要定期进行数据一致性检查。 尽管数据漂移可能是一次性的,但经常会重复发生。 pt-table-checksum用于连续检查表,一次运行检查某些块,另一次运行检查其他块,直到最终检查了整个表。 此过程的持续性质有助于确保经常性漂移得到纠正。

您可以从Percona 下载pt-table-checksum 。 它也可以作为Percona Toolkit的一部分使用。

基本MySQL管理工具:pt-stalk

问题有一种方法,可以等到您不看或在家睡觉时才发生,并且在事实发生后进行诊断有时是不可能的,如果没有有关问题发生时MySQL和服务器状态的数据。 自然的倾向是编写您自己的脚本以等待或检测问题,然后开始记录额外的数据,因为毕竟,没人比您更了解您的系统。 问题是,您知道系统何时运行,如果知道系统可能会遇到的问题,则只需解决它们,而不是尝试捕获和分析它们。

值得庆幸的是,那些专门了解MySQL不起作用的时间以及解决问题的人编写了一个名为pt-stalk的工具。 pt-stalk等待某些条件变为真,然后收集数据以帮助您诊断问题。 您也可以使用pt-stalk来按需收集数据,而无需等待触发发生。

pt-stalk不仅收集MySQL可以报告的有关其自身的标准信息,而且还收集您可能没有想到的更多数据:lsof,strace,tcpdump等。 因此,如果最终不得不咨询专门解决MySQL问题的专业人员,则将拥有他们所需的所有数据。

pt-stalk是可配置的,因此几乎可以用于任何问题。 一个要求是建立触发器的可定义条件。 如果有多种情况表明问题出在哪里,那么您可能还需要咨询专业人员以对您MySQL环境进行更广泛的审查,因为即使根本原因在其他地方,问题也可能出现在MySQL中。

pt-stalk也可以主动使用。 例如,如果您知道一次一次不应该有超过50个活动MySQL连接,那么您可以主动监视此值,从而使pt-stalk对您知道的问题和尚未出现的问题都很有帮助。

您可以从Percona 下载pt-stalk 。 它也可以作为Percona Toolkit的一部分使用。

必备MySQL管理工具:mycheckpoint

在解决问题之前,您并不总是希望等到出现问题之后,仪表板为您提供了一种在潜在问题发生之前监控MySQL环境的基本方法。

有许多免费的和商业MySQL监视应用程序,其中一些特定于MySQL,另一些则与MySQL插件或模板通用。 mycheckpoint是著名的,因为它是免费的,开源的,特定于MySQL的且功能齐全。 作者Shlomi Noach已停止开发mycheckpoint ,但是源代码和二进制文件仍然可以免费获得。

像许多监视解决方案一样,mycheckpoint是基于Web的。 这是一个示例图表:

mycheckpoint-sample-metric.png

可以将mycheckpoint配置为监视MySQL和服务器指标,例如InnoDB缓冲池刷新,创建的临时表,操作系统负载,内存使用情况等等。 如果您不喜欢图表,mycheckpoint也可以生成易于阅读的报告。

翻译自: https://www.infoworld.com/article/2622554/10-essential-mysql-tools-for-admins.html

mysql基本管理工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值