眾所周知,對于數(shù)據(jù)庫管理工作者(DBA)來說,保持數(shù)據(jù)正常運行在最佳狀態(tài)需要具備敏捷、專注、冷靜和快速的反應(yīng)能力。因為數(shù)據(jù)庫幾乎是所有應(yīng)用程序成功運行的核心,由于DBA負責組織數(shù)據(jù),因此尋找可靠的工具幫助簡化數(shù)據(jù)庫管理流程并簡化日常維護任務(wù)是必要的。下面是小編整理的五個好用的開源MySQL管理工具。
眾所周知,對于數(shù)據(jù)庫管理工作者(DBA)來說,保持數(shù)據(jù)正常運行在最佳狀態(tài)需要具備敏捷、專注、冷靜和快速的反應(yīng)能力。因為數(shù)據(jù)庫幾乎是所有應(yīng)用程序成功運行的核心,由于DBA負責組織數(shù)據(jù),因此尋找可靠的工具幫助簡化數(shù)據(jù)庫管理流程并簡化日常維護任務(wù)是必要的。下面是小編整理的五個好用的開源MySQL管理工具,可以改善MySQL環(huán)境中的CLI和Web管理,SQL查詢,模式遷移以及復制和恢復,大家可以參考使用。
1、Mycli
Mycli項目提供MySQL命令行自動完成和語法高亮顯示,它是最流行的MySQL管理工具之一。
諸如跳轉(zhuǎn)主機和雙因素認證之類的安全限制使許多MySQL DBA只能通過命令行訪問系統(tǒng)。在這種情況下,心愛的GUI工具(如MySQL Workbench,Monyog等)不是合適的選擇。
使用命令行的過程中,大部分時間都花在了黑色的終端世界。Mycli最好的一點就是語法突出的豐富性。例如,它允許DBA在WHERE子句中將查詢字符串中的函數(shù)和運算符在視覺上分離出來。對于簡短的單行查詢來說,這可能不是什么大不了的事情,但是當使用多表執(zhí)行JOIN操作查詢時,這就變成了巨大優(yōu)勢。
Mycli支持多行查詢和語法突出顯示,這意味著可以在查看或優(yōu)化查詢時最重要的部分,可以選擇多種語法高亮配色方案或創(chuàng)建自己的配色方案。
Mycli的另一個明星功能是智能完成,允許通過輸入前幾個字符來從上下文相關(guān)列表中選擇表名和列名。不需要因為忘記WHERE子句中列的名稱而放棄當前輸入運行SHOW CREATE TABLE。
在Mycli中的智能完成:
使用Mmycli,用戶可以使用 s等來查詢,例如 fs myAlias myQuery。 這非常方便,只要需要,就可以使用 f myAlias執(zhí)行查詢。
Mycli項目使用BSD 3許可證,項目目前有44個貢獻者,1.2k提交和5k Star。
2、Gh-ost
99%的MySQL數(shù)據(jù)庫管理員(DBA)在執(zhí)行對MySQL表的更改時擔心會影響生產(chǎn),可以考慮Gh-ost(GitHub Online Schema Migration)。Gh-ost提供MySQL模式更改,不會阻塞寫入,不使用觸發(fā)器,并且可以暫停和恢復遷移!
為什么這個如此重要?由于MySQL 5.6提供了新的ALTER TABLE ... ALGORITHM = INPLACE DDL(數(shù)據(jù)定義語言)功能,因此有可能修改一個表而不阻塞寫操作,例如添加索引(B-tree)等常用操作。但是,在寫入(DML語句)被阻塞的情況下,最顯著的是增加了FULLTEXT索引,表空間的加密以及列類型轉(zhuǎn)換。
其他流行的在線模式更改工具(如Percona的pt-online-schema-change)通過在主服務(wù)器上實現(xiàn)一組三個觸發(fā)器(INSERT,UPDATE和DELETE)來保持shadow副本表與變化同步。這會由于寫入放大而導致較小的性能損失,但更重要的是需要七個元數(shù)據(jù)鎖定實例。這些有效地阻止了DML(數(shù)據(jù)操縱語言)事件。
由于Gh-ost使用二進制日志進行操作,因此不會受到基于觸發(fā)器的缺點影響。最后,如果服務(wù)器出問題,可以暫停模式遷移一段時間,并在恢復后繼續(xù)。
Gh-ost操作模式:
Gh-ost提供了一種替代模式,可以直接在主服務(wù)器(不管是否有從服務(wù)器)上執(zhí)行遷移,讀取主服務(wù)器的binlog_format = ROW事件,然后將其重新應(yīng)用到shadow表中。
最后一個選項可用于僅在副本上運行遷移,而不會影響主服務(wù)器,因此可以測試或以其他方式驗證遷移。
Gh-ost一般流程:
請注意,如果模式具有外鍵,那么Gh-ost可能無法運行,因為此配置不受支持。oak-online-alter-table是Gh-ost的前身,DBA可以閱讀Percona首席執(zhí)行官Peter Zaitsev以及OAK工具包和Gh-ost的作者和維護人員Shlomi Noach的回應(yīng),比較Gh-ost和pt-online-schema-change的性能。
Gh-ost項目使用MIT許可證,該項目目前有29個貢獻者,近1k的提交和3k Star。
3、PhpMyAdmin
MySQL工具中運行時間最長,最成熟的項目之一是用于通過Web管理MySQL的古老PhpMyAdmin工具。phpMyAdmin允許DBA瀏覽和修改MySQL數(shù)據(jù)庫對象:數(shù)據(jù)庫,表,視圖,字段和索引。有多種選項可使用十幾種格式執(zhí)行數(shù)據(jù)導出,修改MySQL用戶和權(quán)限,以及執(zhí)行臨時查詢。
PhpMyAdmin狀態(tài)頁面顯示問題(連接/流程和流量圖):
可以找到一個“狀態(tài)”選項卡,動態(tài)繪制給定數(shù)據(jù)庫實例問題,連接/進程和網(wǎng)絡(luò)流量以及“Advisor ”選項卡,顯示可能的性能問題列表以及如何修復的建議。
PhpMyAdmin開始屏幕:
PhpMyAdmin使用GPLv2許可證,這是一個超過800個貢獻者的項目,112k提交和2.7k Star。
4、Sqlcheck
SQL反模式可能會降低查詢速度,但通常需要經(jīng)驗豐富的DBA和開發(fā)人員仔細研究代碼來識別和解決這些問題。Sqlcheck反映了Karwin確定的四類反模式:
·Logical database design
·Physical database design
·Query
·Application development
工作中的Sqlcheck:
Sqlcheck可以針對不同的風險分為低風險,中風險或高風險三大級別。如果反模式列表很大,這會很有幫助,因為可以優(yōu)先考慮對性能影響最大的查詢。要做的是收集一個不同的查詢列表到文件,然后將它們作為參數(shù)傳遞給該工具。
5、Orchestrator
Orchestrator是高可用性管理工具,它提供了發(fā)現(xiàn)MySQL環(huán)境的復制拓撲能力,通過上下鏈接來識別主從。它也可以通過GUI重構(gòu)復制拓撲結(jié)構(gòu),提供一個拖放界面將從設(shè)備提升為主設(shè)備,這是一個非常安全的操作。事實上,Orchestrator拒絕任何非法操作,以免破壞系統(tǒng)。
最后,Orchestrator在節(jié)點遭遇失敗時可以支持恢復,因為它使用狀態(tài)的概念智能選擇正確的恢復方法,并決定使用適當?shù)闹魃夁^程。
Orchestrator是GitHub的Shlomi Noach提供的另一個工具。它由Apache許可證2.0涵蓋,該項目有34位貢獻者,2,780個提交和900顆Star。
Orchestrator為MySQL復制和恢復提供了一個窗口,除此之外,還有一個很棒的免費工具——PMM。它整合了許多最佳開源工具,包括Orchestrator的優(yōu)點,以提供全面的數(shù)據(jù)庫監(jiān)控和管理功能。它支持MySQL,MariaDB和MongoDB服務(wù)器。
上述每個工具涉及到MySQL管理員角色的不同方面。這些工具是免費開源的,如果需要,也可以根據(jù)自己的環(huán)境需求進行調(diào)整,也可以不加修改地直接使用。
河南億恩科技股份有限公司(1tcdy.com)始創(chuàng)于2000年,專注服務(wù)器托管租用,是國家工信部認定的綜合電信服務(wù)運營商。億恩為近五十萬的用戶提供服務(wù)器托管、服務(wù)器租用、機柜租用、云服務(wù)器、網(wǎng)站建設(shè)、網(wǎng)站托管等網(wǎng)絡(luò)基礎(chǔ)服務(wù),另有網(wǎng)總管、名片俠網(wǎng)絡(luò)推廣服務(wù),使得客戶不斷的獲得更大的收益。
服務(wù)器/云主機 24小時售后服務(wù)電話:
0371-60135900
虛擬主機/智能建站 24小時售后服務(wù)電話:
0371-55621053
網(wǎng)絡(luò)版權(quán)侵權(quán)舉報電話:
0371-60135995
服務(wù)熱線:
0371-60135900