1. 程式人生 > >五大開源MySQL管理工具!

五大開源MySQL管理工具!

對於資料庫管理員(DBA)來說,保持資料庫執行在最佳狀態需要具備敏捷,專注,快速反應的能力以及一顆冷靜的頭腦。資料庫幾乎是所有應用程式成功執行的核心,由於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管理員角色的不同方面。這些工具是免費開源的,如果需要,也可以根據自己的環境需求進行調整,也可以不加修改地直接使用。如果你還沒有嘗試過,不妨試試!

相關推薦

五大開源MySQL管理工具!

對於資料庫管理員(DBA)來說,保持資料庫執行在最佳狀態需要具備敏捷,專注,快速反應的能力以及一顆冷靜的頭腦。資料庫幾乎是所有應用程式成功執行的核心,由於DBA負責組織資料,因此尋找可靠的工具幫助簡化資料庫管理流程並簡化日常維護任務是必要的。   以下這些優秀工具可以改

mysql workbench圖形化mysql管理工具

-m 學習 ins 開發 一個 圖形化 unit 處理 .rpm MYSQL官網也推出了針對Linux的圖形化的連接工具-MySQL Workbench.MySQL Workbench不僅僅是一個簡單的MySQL客戶端。簡而言之,Workbench是一個跨平臺的

04: 用戶授權及撤銷 、 數據備份與恢復 、 MySQL管理工具

languages ref bash 恢復密碼 option p12 是否 空間 list day04一 、管理root用戶密碼1.1 修改密碼1.2 恢復密碼 二、用戶授權與權限撤銷2.1 授權2.2 撤銷權限 三、安裝圖形管理工具 四 數據備份與恢復 ----- 完全備

多表查詢 MySQL管理工具 、 使用者授權及撤銷

  複製表源表的key鍵值不會被複制到新表(原表是teadb.user) 複製表: mysql> create table db4.t1 select * from teadb.user; 複製表結構: mysql> create table db4.t2 select * f

【立維網】MySQL管理工具---Percona Toolkit

Mysql PT工具是一組高階的命令列工具,用來管理 MySQL 和系統任務,主要包括: 1、驗證主節點和複製資料的一致性 2、有效的對記錄行進行歸檔 3、找出重複的索引 4、總結 MySQL 伺服器 5、從日誌和 tcpdump 中分析查詢 6、問題發生時收集重要的

MySQL管理工具mysql、mysqladmin、mysqldump

mysql: 功能:命令列SQL工具 # mysql # mysql -u root -p 輸入密碼 mysql> mysql>exit # mysql -u root -p '密碼'(不能登入) 進入指定資料庫: mysql>use 資料庫 # mysql

MySQL管理工具-SQLyog 9.63的使用詳解

MySQL管理工具-SQLyog 9.63的使用詳解   1、如何建立資料庫 第一步,右鍵根結點->建立資料庫。 第二步,填寫資料庫名稱,選擇預設字符集等後點確定即可。   2、如何備份和還原資料庫 2.1 備份資料庫的步驟 第一

LNMP安裝部署開源IP管理工具phpipam

1、資料庫mariadb安裝 //依賴安裝 yum install -y apr* autoconf automake bison bzip2 bzip2* compat*  \ cpp curl curl-devel fontconfig fontconfig-devel freetyp

IT專案管理分享7個開源專案管理工具

在一項調查中,有 71% 的組織表示他們在開發過程中會用到敏捷方法。 此外,用敏捷方法管理專案比傳統方法管理專案成功率高 28%。在這次工具推薦中,我們從一些比較受歡迎的開源專案管理工具中摘取了支援敏捷的幾項。 無論您的組織已經在使用敏捷,還是正計劃使用,相信這 7 個開源的專案管理工具都能給你帶來幫助。

開源KVM管理工具和平臺

    KVM實現了虛擬化核心的監視工具,其在UI方便的管理工具多種多樣。比較典型的管理工具有virsh,virt-manager,ovirt等。       virsh為命令列管理工具,功能強大,能完成幾乎所有虛擬機器管理任務,包括線上遷移,虛擬機器快照,建立和轉換虛擬機

Percona Toolkit 3.0.13 釋出,MySQL 管理工具

   Percona Toolkit 3.0.13 釋出了,Percona Toolkit 是一組高階的命令列工具,用來管理 MySQL 和系統任務。 Bug 修復: PT-1673: pt-show-grants was incompatible wi

Java開源專案管理工具大全

XPlanner 一個基於Web的XP團隊計劃和跟蹤工具。XP獨特的開發概念如iteration、user stories等,XPlanner都提供了相對應的的管理工具,XPlanner支援XP開發流程,並解決利用XP思想來開發專案所碰到的問題。 XPlanner特點包括:簡單的模型規劃,虛擬筆記卡(Vi

Mac 上的 MySQL 管理工具 -- Sequel Pro

Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL data

開源專案管理工具推薦

支援任務管理、資源分配、跟蹤、甘特圖等等。ProjectLibre是一款類似微軟Project這類商業軟體產品的不錯的選擇。 在去年12月,ProjectLibre釋出了v1.5.8版本,一個指向Open Services Gateway Initiative(開放服務閘

面向敏捷開發團隊的 7 個開源專案管理工具 | Linux 中國

在這篇開源專案管理工具的綜述中,讓我們來了解一下支援 Scrum、看板等敏捷開發模式的軟體。--

Mysql 管理工具總結

用慣了sqlserver的管理工具。才知道其它資料庫管理工具真的是弱爆了。因為工作使用mysql的越來越多。積累一些mysql的使用經驗迫在眉睫。首推工具1 使用dbforget Studio 。這個工具的特點是:資料處理能力強。編寫sql語句相當給力,基本上可以比肩sqls

MySQL管理工具HeidiSQL

HeidiSQL 是一個功能非常強大的 MySQL 客戶端軟體。它是德國程式設計師Ansgar Becker和幾個Delphi程式設計師開發的一個開源工具。要通過HeidiSQL來管理資料庫,使用者應該用有效地憑證登陸到MySQL伺服器,建立一個會話。Heidi

10個視覺化開發的MySQL管理工具

使用各種精心設計的工具來管理MySQL資料庫要比單純使用傳統的方法輕鬆得的多。開發人員應該不斷尋找那些能夠縮短開發時間的工具。這也是我們本文整理這10個能夠簡化開發過程的MySQL工具的原因。 一、MySQL Workbench MySQL Workbench是一個由MyS

開源APM應用性能管理工具調研

ons tracing nim htm track line nsa mbus cal 近期在設計一個DevOps平臺。希望整合一個APM工具進來,由於APM既可用於性能測試也可用於運維性能監控,是典型的Dev+Ops產品。商業的APM工具國內外已經有不少成熟產品了,而

mysql數據庫管理工具(navicat for mysql)

disable 單機 是否 dmv text ces 窗口 進程 不同類 Navicat Premium 是一個可多重連接的數據庫管理工具,它可讓你以單一程序同時連接到 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 數據庫,讓