推薦5大管理MYSQL的開源免費工具利器
對于數據庫運維人員來說,想要保證數據庫在高效平穩的運行就有點像雜技演員在轉盤子,需要靈活、專注、能快速做出反應、并且擁有冷靜的頭腦。數據庫幾乎是所有能夠成功運行系統的核心。而數據庫運維人員對組織的數據負責,能找到可依靠的工具來更加高效的管理數據庫,并且輕松的維護日常的工作就變得格外重要。數據庫運維人員因此需要更好的工具來使得他們的系統平穩運行。那什么工具才是對MySQL管理者來說是經過測試并且值得相信的呢?這里推薦5款開源工具是如何應用的。
Mycli
其只要的特征如下,
-
提供了代碼補全,語法高亮等功能
-
自動通過輸入***個字符檢索表名或字段名
-
通過命令行模式
其中,命令行模式的好處在于,在有著遠程操作或者雙重認證等安全限制的環境中,不受制約,而圖像化的工具未必好用。
Gh-ost
大多數的數據庫運維人員都很擔心改變MySQL的大表表結構會影響業務,gh-ost的設計號稱無觸發器,可監控,可動態調整暫停等,更重要的是切換方案的優秀設計。
通常業內的處理方式無外乎三種,一是利用Percona的pt-online-schema-change,Facebook的OSC等三方工具,二是在備庫修改通過切換實現滾動變更,三則是升級MySQL到5.6/5.7通過官方Online DDL實現部分變更。然而,引入觸發器帶來的鎖競爭問題,主備切換帶來的附加成本以及Online DDL的局限性都不讓DBA省心。
那么gh-ost是怎么工作的呢?官方架構圖如下:
其有兩種工作方式如下:
1. 連接主庫直接修改
-
·直連主庫
-
·主庫上創建ghost表
-
·新表(ghost表)上直接alter修改表結構
-
·遷移原表數據到新表
-
·拉取解析binlog事件,應用到新表
-
·cut-over階段,用新表替換掉原表
2. 連接從庫間接應用到主庫
-
連接從庫
-
校驗完后,在主庫創建新表
-
遷移原表數據到新表
-
模擬從庫的從庫,拉取解析增量binlog應用到主庫
-
cut-over階段,用新表替換掉原表
兩者不同的點就在于,通過連接從庫來進行變更,對主庫的性能影響最小。
PhpMyAdmin
資歷最老并且最成熟的WEB版MySQL工具。允許數據庫運維人員通過瀏覽器對數據表進行操作。而且具有豐富的格式來展示數據。
能夠動態地將問題、連接數/進程、流量繪制成圖形。并且檢測當性能下降時自動提供解決建議的功能。
Sqlcheck
在MySQL的反模式中,有興趣的同學可以看下相關資料(SQL anti-patterns)。
SqlCheck能將夠定位的問題分為3類,高風險,中風險,低風險。這個能幫助列出哪些是最影響你效率的問題。你所要做的就是將文件名稱當作參數輸入到工具中,如下圖
Orchestrator
orchestrator是一款非常實用的數據復制管理工具。它能夠通過抓取數據庫主從關系來生成拓撲圖。并且可以通過拖拉拽的方式來重構你的數據庫關系。這些操作非常安全,不會因為非法操作來損壞你的數據庫。
***,orchestrator能夠恢復當其中的節點發生故障,它應用了狀態的概念來正確的恢復并且在適當的時候與主庫進行連接。