mysqltools-python权威指南
主编&作者:蒋乐兴
wechat:jianglegege
关于
1、 mysqltools-python 是一个 专为 dba 服务的 python 工具包,主要的目的在于把一些锁定程序化,一方面可以提高劳动生产率,另一方面可以节约 dba 的时间。
2、 目前工具包中集成的工具列表
工具名
功能说明
mtls-monitor
监控项采集
mtls-backup
自动化备份数据库
mtls-delete-rows
分批(温和)删除大表中的行
mtls-file-truncate
分批(温和)的截断物理文件
mtls-big-files
查询出给定目录下的大文件名
mtls-http
tcp(http)端口连通性测试
mtls-log
慢查询日志切片
mtls-perf-bench
数据库跑分工具(开发中)
mtls-kill-all-connections
杀死所有的客户端连接
mtls-sql-distribution
统计慢查询文件中的SQL类型与热点表
mtls-file-stat
表的最晚更新时间统计
mtls-expired-tables
找出长时间没有使用过的表
安装
温和文件截断
1、 有时候我们会遇到下面的场景,一个文件已经非常大了,如果直接 rm 删除的话,这个东西可能会占用大量的IO带宽。于是我们就需要一个慢慢减小文件大小的工具,mtls-file-truncate 就是这个场景的一个解决方案。
数据库性能测试
mtls-perf-bench 的目标,我们希望在申请到一个数据库实例的时候对其进行一下性能测试,有人会说了大哥,这活 sysbench 不是会干吗?一点都没有错 sysbench 是可以做性能测试,它非常的优秀,以致于成为了业界一个事实的标准。
sysbench 也有它不好的地方,主要在于它的表结构是“固定”的,我们用 sysbench 可以测试出来上百万的qps,用我们自己的表结构可以跑多少分呢?mtls-perf-bench 想解决在特定表结构下的性能的测量问题。
mtls-perf-bench 希望通过测试发现参数上可以调整的地方,这样可以更早的发现实例存在的配置问题,之后也希望 mtls-perf-bench 可以作为一个诊断分析的工具。
0、 在目标实例上创建测试用户并授权
1、 创建表
3、 清理环境
其它
目前 mtls-perf-bench 支持的操作
操作名
注释
create
根据给定的参数创建表
insert
执行插件操作并记录tps
select
执行查询操作并记录qps(开发中)

update
执行更新操作并记录tps(开发中)
delete
执行删除操作并记录tps(开发中)
drop
删除表
mtls-perf-bench 优势与劣势
0、mtls-perf-bench 支持灵活的指定表的列数与类型
1、mtls-perf-bench 支持单进程和多进程两种工作模式
断开所有的客户端连接
有些时候出于一些特殊的原因,我们想把所有的客户端连接都 kill 掉
1、 kill 之前
3 rows in set (0.01 sec)
2、 发起 kill 指令
————————————————
————————————————
说明 select 出现了 25 次,insert 出现了 19 次; t 表在慢查询中出现了 21 次 … …
1、更多用法可以查看帮助信息
表的最晚更新时间统计
mtls-file-stat 用于分析某一时间点之后就再没有更新过的表,比如说一套系统上线好几年了,经过了 n 次迭代,
有一些表早就不用了,但是并没有对它进行删除,这就使得这些占用的空间永远不会被释放,mtls-file-stat 就是用来
找出这些可疑的表
更新多信息可以查看帮助
找出长时间没有使用过的表
如果一张表有好几十天都没有写入了,这个往往是因为业务已经不再使用这张表,但是忘记了 drop 它,mtls-expired-tables 就是用于找出这种可疑的表
批量生成随机密码
在创建 MySQL 用户的时候还在绞尽脑汁地想一个高强度的密码吗?现在不用这么做了,让程序完全随机的生成吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/205958.html