這五大開源MySQL管理工具,將DBA從 “刪庫跑路”中解救出來!
以下這些優秀工具可以改善 MySQL 環境中的 CLI 和 Web 管理,SQL 查詢,模式遷移以及復制和恢復。(順附 Github 地址,Star 數量和提交數量供廣大 DBA 參考
1、Mycli
Mycli 項目提供 MySQL 命令行自動完成和語法高亮顯示,它是最流行的 MySQL 管理工具之一。
諸如跳轉主機和雙因素認證之類的安全限制使許多 MySQL DBA 只能通過命令行訪問系統。在這種情況下,心愛的 GUI 工具(如 MySQL Workbench,Monyog 等)不是合適的選擇。
使用命令行的過程中,大部分時間都花在了黑色的終端世界。Mycli 最好的一點就是語法突出的豐富性。例如,它允許 DBA 在 WHERE 子句中將查詢字符串中的函數和運算符在視覺上分離出來。對于簡短的單行查詢來說,這可能不是什么大不了的事情,但是當使用多表執行 JOIN 操作查詢時,這就變成了巨大優勢。
Mycli 支持多行查詢和語法突出顯示,這意味著可以在查看或優化查詢時最重要的部分,可以選擇多種語法高亮配色方案或創建自己的配色方案。
Mycli 的另一個明星功能是智能完成,允許通過輸入前幾個字符來從上下文相關列表中選擇表名和列名。不需要因為忘記 WHERE 子句中列的名稱而放棄當前輸入運行 SHOW CREATE TABLE。
在 Mycli 中的智能完成
使用 Mmycli,用戶可以使用s 等來查詢,例如 fs myAlias myQuery。 這非常方便,只要需要,就可以使用 f myAlias 執行查詢。
Mycli 項目使用 BSD 3 許可證,項目目前有 44 個貢獻者,1.2k 提交和 5k Star(地址:https://github.com/dbcli/mycli)。
2、Gh-ost
99%的 MySQL 數據庫管理員(DBA)在執行對 MySQL 表的更改時擔心會影響生產,可以考慮 Gh-ost(GitHub Online Schema Migration)。Gh-ost 提供 MySQL 模式更改,不會阻塞寫入,不使用觸發器,并且可以暫停和恢復遷移!
為什么這個如此重要?由于 MySQL 5.6 提供了新的 ALTER TABLE ... ALGORITHM = INPLACE DDL(數據定義語言)功能,因此有可能修改一個表而不阻塞寫操作,例如添加索引(B-tree)等常用操作。但是,在寫入(DML 語句)被阻塞的情況下,最顯著的是增加了 FULLTEXT 索引,表空間的加密以及列類型轉換。
其他流行的在線模式更改工具(如 Percona 的 pt-online-schema-change)通過在主服務器上實現一組三個觸發器(INSERT,UPDATE 和 DELETE)來保持 shadow 副本表與變化同步。這會由于寫入放大而導致較小的性能損失,但更重要的是需要七個元數據鎖定實例。這些有效地阻止了 DML(數據操縱語言)事件。
由于 Gh-ost 使用二進制日志進行操作,因此不會受到基于觸發器的缺點影響。最后,如果服務器出問題,可以暫停模式遷移一段時間,并在恢復后繼續。
那么 Gh-ost 如何工作呢?默認情況下,Gh-ost 連接到副本(從),標識主節點,并在主節點上進行應用遷移。它將副本上的更改接收到 binlog_format = ROW 的源表中,解析日志并將這些語句轉換為在主 shadow 表上重新執行。它跟蹤副本上的行數,并確定何時執行原子切換(切換表)。
Gh-ost 操作模式
Gh-ost 提供了一種替代模式,可以直接在主服務器(不管是否有從服務器)上執行遷移,讀取主服務器的 binlog_format = ROW 事件,然后將其重新應用到 shadow 表中。
最后一個選項可用于僅在副本上運行遷移,而不會影響主服務器,因此可以測試或以其他方式驗證遷移。
Gh-ost 一般流程
請注意,如果模式具有外鍵,那么 Gh-ost 可能無法運行,因為此配置不受支持。oak-online-alter-table 是 Gh-ost 的前身,DBA 可以閱讀 Percona 首席執行官 Peter Zaitsev 以及 OAK 工具包和 Gh-ost 的作者和維護人員 Shlomi Noach 的回應,比較 Gh-ost 和 pt-online-schema-change 的性能。
Gh-ost 項目使用 MIT 許可證,該項目目前有 29 個貢獻者,近 1k 的提交和 3k Star。(Github 地址:https://github.com/github/gh-ost)
3、PhpMyAdmin
MySQL 工具中運行時間最長,最成熟的項目之一是用于通過 Web 管理 MySQL 的古老 PhpMyAdmin 工具。phpMyAdmin 允許 DBA 瀏覽和修改 MySQL 數據庫對象:數據庫,表,視圖,字段和索引。有多種選項可使用十幾種格式執行數據導出,修改 MySQL 用戶和權限,以及執行臨時查詢。
PhpMyAdmin 狀態頁面顯示問題,連接 / 流程和流量圖
可以找到一個 “狀態” 選項卡,動態繪制給定數據庫實例問題,連接 / 進程和網絡流量以及 “Advisor ” 選項卡,顯示可能的性能問題列表以及如何修復的建議。
PhpMyAdmin 開始屏幕
PhpMyAdmin 使用 GPLv2 許可證,這是一個超過 800 個貢獻者的項目,112k 提交和 2.7k Star。在線演示可在 https://demo.phpmyadmin.net/master-config / 上找到。(Github 地址:https://github.com/phpmyadmin/phpmyadmin)
4、Sqlcheck
SQL 反模式可能會降低查詢速度,但通常需要經驗豐富的 DBA 和開發人員仔細研究代碼來識別和解決這些問題。Sqlcheck 反映了 Karwin 確定的四類反模式:
- Logical database design
- Physical database design
- Query
- Application development
工作中的 Sqlcheck
Sqlcheck 可以針對不同的風險分為低風險,中風險或高風險三大級別。如果反模式列表很大,這會很有幫助,因為可以優先考慮對性能影響最大的查詢。要做的是收集一個不同的查詢列表到文件,然后將它們作為參數傳遞給該工具。
使用從 PMM 演示環境收集的樣本來生成以下輸出:
Apache 許可證 2.0 涵蓋了 Sqlcheck,該項目有五個貢獻者,187 個提交和 1.4k Star。(Github 地址:https://github.com/jarulraj/sqlcheck)
5、Orchestrator
Orchestrator 是高可用性管理工具,它提供了發現 MySQL 環境的復制拓撲能力,通過上下鏈接來識別主從。它也可以通過 GUI 重構復制拓撲結構,提供一個拖放界面將從設備提升為主設備,這是一個非常安全的操作。事實上,Orchestrator 拒絕任何非法操作,以免破壞系統。
最后,Orchestrator 在節點遭遇失敗時可以支持恢復,因為它使用狀態的概念智能選擇正確的恢復方法,并決定使用適當的主升級過程。
Orchestrator 是 GitHub 的 Shlomi Noach 提供的另一個工具。它由 Apache 許可證 2.0 涵蓋,該項目有 34 位貢獻者,2,780 個提交和 900 顆 Star。(Github 地址:https://github.com/github/orchestrator)
Orchestrator 為 MySQL 復制和恢復提供了一個窗口
除此之外,還有一個很棒的免費工具——PMM。它整合了許多最佳開源工具,包括 Orchestrator 的優點,以提供全面的數據庫監控和管理功能。它支持 MySQL,MariaDB 和 MongoDB 服務器。
上述每個工具涉及到 MySQL 管理員角色的不同方面。這些工具是免費開源的,如果需要,也可以根據自己的環境需求進行調整,也可以不加修改地直接使用。如果你還沒有嘗試過,不妨試試。
責任編輯:售電衡衡
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業
-
碳中和戰略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監管與當量協同的碳市場框架設計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉型與經濟發展并進
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
國家發改委、國家能源局:推廣不停電作業技術 減少停電時間和停電次數
2020-09-28獲得電力,供電可靠性,供電企業 -
2020年二季度福建省統調燃煤電廠節能減排信息披露
2020-07-21火電環保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規范法律問題研究(上)
2019-10-31能源替代規范法律 -
區域鏈結構對于數據中心有什么影響?這個影響是好是壞呢!