在做一些技术规划的时候,会发现有一些事情需要前置,比如说MySQL里面的工具,如果等到实际碰到了各色的问题再来统一,就比较难了。有沟通成本,人力成本,技术沉淀和持续交付等等的成本,这些***提前和团队有一个基本的沟通,达成一个共识。内部统一了以后,和开发同学规范统一就有了一个基线。
大体来说,我考虑了以下几个方面,内容适当做了删减。
- 运维管理工具
- 数据备份恢复工具
- 数据库优化工具
- 客户端工具
- 性能测试工具
- 数据库版本管理工具
- 数据库审计工具
我来逐个说一下,有更好的工具也欢迎各位拍砖。
1. 运维管理工具
Percona-toolkit,这个工具有几个亮点,比如主从延迟检测,数据修复,online DDL等
2. 数据库备份恢复工具
mydumper,这个工具还算比价流行,能够对原来的mysqldump做一个很好的补充。腾讯云就是定制了mydumper来做为默认的备份工具。
xtrabackup,来自Percona的工具,擅长做物理备份,而且更倾向于是全备+增备结合的方式,对于版本的选择
mysqlpump ,MySQL新版本推出的备份工具,但是效果没有想象的那么好,***的一个痛点应该就是备份的IO问题还是没法大幅度解决,因为都在***备份出来的那个文件上,没有拆分。
3. 数据库优化工具
这个工具分为两个层面:MySQL实时状态分析和满日志分析
MySQL实时状态分析:
1)innotop
2)orzdba
3)mytop
4)orztop
满日志分析
1)pt-query-digest
2)Anemometer
3)基于网络层的慢查询分析器
4.客户端工具
SQLyog
Navicator
workbench
上面的三个工具,前两个国内其实用的比较多,工具本身没什么问题,硬伤还是在于license,第三个是Oracle提供的,免费,功能比较全面,相比而言有数据建模,SQL开发,数据管理,数据迁移等功能,个人还是比较推荐的。
5.性能测试工具
sysbench
tpcc-mysql
6.数据库版本管理工具
liquibase 这个工具还得斟酌一下,比预期的内容和难度要大一些。
7. MySQL审计
MySQL audit,第三方开源
官方的商业版插件
大家有好的想法,欢迎补充。