MySQL中需要考慮的一些工具
在做一些技術規劃的時候,會發現有一些事情需要前置,比如說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,第三方開源
官方的商業版插件
大家有好的想法,歡迎補充。