MySQL 優秀工具推薦

2021-02-13 雲DB
MySQL 優秀工具推薦

我想很多程式設計師應該記得 GitHub 上有一個 Awesome - XXX 系列的資源整理。awesome-mysql就是 shlomi-noach 發起維護的 MySQL 資源列表,內容包括:分析工具、備份、性能測試、配置、部署、GUI 等。

Awesome 系列雖然挺全,但基本只對收錄的資源做了極為簡要的介紹,有兩點可以改善:

沒有中國本地的一些工具,另外一些工具在國內市場沒有得到認可。

沒有中文化,如果中文化,會有更多的朋友會進行關注。

中國的社區並沒有補進來

 特別提示:

         因為公眾號裡不支持加入連接,如果想看到相關項目網站,可以點擊閱讀原文。

做這個的目的

知數堂從事MySQL,Python相關教學工作, 有責任給學生做好職業輔墊,同時需要回饋給社區。以前想以公眾號的形式推薦這些工具。後來覺的,不如以github的形式整理,這樣方便更多的朋友參與。 也利於圈子的交流。

如何參與本項目?

從下面的目錄來看,本項目的工作量不小,所以非常期待能有更多社區成員一起參與進來。

不過加入前,要求:

愛好開源,能讀懂英文文檔

有 MySQL 相關實踐經驗;

如有興趣,請加 QQ群: 480110023。加 群時 時請註明「awesome-mysql」

本項目的參與者

維護者:知數堂

吳炳錫 blog

葉金榮

根據原文進行翻譯添加本土工具。

註:名單不分排名,不定期補充更新

目錄

分析工具

備份

性能測試

聊天應用

配置

連接器

部署

開發

GUI

HA

代理

複製

模式

伺服器

分片

工具包

資源

分析工具

性能,結構和數據分析工具

Box Anemometer - 一個 SQL 慢查詢監控器。 可以在上面做二次開發,實現慢日誌收集平臺。

innodb-ruby - 一個對 InooDB 格式文件的解析器,用於 Ruby 語言。特別提示: wubx 備註,這個工具非常強大,從2016年開始,用這個工具分析Innodb底層的一些問題,表示很受溢。

innotop - 一個具備多種特性和可擴展性的 MySQL 版 『top』 工具。

pstop - 一個針對 MySQL 的類 top 程序,用於收集,匯總以及展示來自 performance_schema 的信息。

mysql-statsd - 一個收集 MySQL 信息的 Python 守護進程,並通過 StatsD 發送到 Graphite。

dstat - 一個Python實現的性能收集的工具,系統性能分析時,這個工具也比較有用。(20170315 推薦原因,指標比較全面)

備份

備份/存儲/恢復 工具

MyDumper - 邏輯的,並行的 MySQL 備份/轉儲工具。

MySQLDumper - 基於 web 的開源備份工具-對於共享虛擬主機非常有用。

mysqldump-secure - 將加密,壓縮,日誌,黑名單和 Nagios 監控一體化的 mysqldump 安全腳本。

Percona Xtrabackup - 針對 MySQL 的一個開源熱備份實用程序——在伺服器的備份期間不會鎖定你的資料庫。

性能測試

給你的伺服器進行壓測的工具
在做壓力測試時,建議把壓力工具和MySQL伺服器分開,避免壓力工具佔用太多的資源。

iibench-mysql -基於 Java 的 MySQL/Percona/MariaDB 索引進行插入性能測試工具。備註: 建議不用關注了。

Sysbench - 一個模塊化,跨平臺以及多線程的性能測試工具。

tpcc-mysql 基於tpcc模型對MySQL進行壓測力測試。 —add wubx

YSCB - Yahoo基於Java開發的一個壓測工具,支持壓測的種類比較多,優秀之處在於:可以調整讀寫比例進行壓測,以便方好的觀查不同模型的壓力情況。

fio  - 一款IO測試的工具,做MySQL DBA必須懂得IO壓力測試.

聊天應用

集成進聊天室的腳本

配置

MySQL 配置實例及指導

連接器

多種程式語言的 MySQL 連接器

Connector/Python - 一個對於 Python 平臺和開發的標準化資料庫驅動程序。

go-sql-driver - 一個 Go 語言的輕量級、極速的 MySQL 驅動程序。

libAttachSQL - libAttachSQL 是 MySQL 伺服器的一個輕量級,非阻塞的 C 語言 API。

MariaDB Java Client - 針對 Java 應用且經過 LGPL 許可的 MariaDB 客戶端庫。

MySQL-Python - 一個 Python 語言的 MySQL 資料庫連接器。

PHP mysqlnd - 針對 MySQL 的 MySQL 本地驅動,棄用過時的 libmysql 基礎驅動。

開發

支持 MySQL 相關開發的工具

Flywaydb - 資料庫遷移;任意情況下輕鬆可靠地演變你的資料庫版本。

Liquibase - 對你的資料庫進行原始碼控制。

Propagator - 集中模式和數據部署在一個多維拓撲上。

GUI

前端和應用的 GUI

Adminer - 一個 PHP 編寫的資料庫管理工具。

HeidiSQL - Windows 下的 MySQL 圖形化管理工具。

MySQL Workbench - 提供給資料庫管理員和開發人員進行資料庫設計和建模的集成工具環境;SQL 開發;資料庫管理。

phpMyAdmin - 一個 PHP 寫成的開源軟體,意圖對 web 上的 MySQL 進行管理。

SequelPro - 一個 mac 下運行 MySQL 的資料庫管理應用程式。

mycli - 一個帶自動補全和語法高亮的終端版 MySQL 客戶端

HA

高可用解決方案

Galera Cluster - 一個基於同步複製的多主機集群方案。

MHA - 針對 MySQL 的優秀高可用管理器及工具

MySQL Fabric - 一個用於管理 MySQL 伺服器場(Server Farms)的可擴展框架。

Percona Replication Manager - 針對 MySQL 的異步複製管理代理。支持以文件和 GTID 為基礎的複製,使用 booth 實現的地理分布式集群。

keepalived - 一個很古老的HA工具,但還是很實用,裡面的切換接口比較完善,只需要細心定製一下就可以實現MySQL的高可用。

代理

MySQL 代理

MaxScale - 開源,以資料庫為中心的代理。

Mixer - Go 實現的一個 MySQL 代理,目的為 MySQL 分片提供一個簡單的解決方案。

MySQL Proxy - 一個處於你的客戶端和 MySQL 服務端之間的簡單程序,它可以檢測、分析或者改變它們的通信。

ProxySQL - 高性能的 MySQL 代理。

Atlas - Qihoo 360開源的MySQL Proxy。

OneProxy - 業界專家樓方鑫開發的商業Proxy產品。

複製

複製相關的軟體

orchestrator - 對 MySQL 複製拓撲管理並可視化的工具。

Tungsten Replicator - MySQL 的一個高性能、開源、數據複製引擎。

otter - 阿里巴巴分布式資料庫同步系統(解決中美異地機房)

模式

附加模式

MySQL server分支

MariaDB - MySQL server 的一個由社區開發的分支。

MySQL Server & MySQL Cluster - Oracle 官方的 MySQL server 和 MySQL 集群分布。

Percona Server - 一個加強版的 MySQL 替代品,內部含用TokuDB引擎

WebScaleSQL - WebScaleSQL,5.6 版本,基於 MySQL 5.6 社區版本。

AliSQL - 阿里雲開源出來的一個MySQL分支

Xenon TokuDB - 基於percona的tokudb進行優化,引入MyRoks的一些特性。

MyRocks - Facebook開源一個MySQL分支,內含MyRocks引擎

分片

分片解決方案/框架

vitess - 對於大規模的 web 服務,vitess 提供服務和工具以便於 MySQL 資料庫的縮放。

jetpants - 一個自動化套件,用於管理大規模分片集群,由 Tumblr 開發。

DBproxy - 美團開源出來的一個DBproxy 目前比較活躍

MyCAT - 基於Java開發的一款Proxy功能方面比較強大。

Atlas - Qihoo 360開源的MySQL Proxy。

KingShard - 基於Golang實現的一個MySQL Proxy。

工具包

工具包,通用腳本

go-mysql - 一個純 go 的庫,用於處理 MySQL 的網絡協議和複製。

MySQL Utilities - 一個命令行實用程序的集合,Python 語言編寫,用於維護和管理單一或多層的 MySQL。

Percona Toolkit - 一個先進的命令行工具集,用於執行對於 MySQL 伺服器和系統過於困難或複雜的任務。

openark kit - 一組實用的工具,解決日常的維護工作,包括一些複雜的或需徒手操作的,用 Python 語言編寫。

UnDROP - 一個用來恢復刪除或損壞的 InnoDB 表中數據的工具。

binlog2sql - 基於Binlog對誤操作一個恢復工具

SQL審核

mysql inception - 一個集審核、執行、備份及生成回滾語句於一身的MySQL自動化運維工具
Themis - Themis,是宜信公司DBA團隊開發的一款資料庫審核產品。可幫助DBA、開發人員快速發現資料庫質量問題,提升工作效率。

社會資源

目前主要整理開源出來或是WEB頁面提供的工具。在這個階段,「資源」不包括網站,博客,幻燈片,演示視頻等。這些資源列表的大小令人恐懼。

會議

圍繞 MySQL 進行公開,經常性的大會。
國外的大會

FOSDEM - 一個軟體開發人員見面、交流思想與協作的活動。每年在 Brussels 舉行。提供 「MySQL & friends」 開發工作室。

MySQL Central - Oracle 年度 MySQL 大會,是 Oracle Open World 的一部分。

Percona Live - MySQL 和 OpenStack 的重要會議。

SCALE - 一個每年在南加州舉辦,由社區組織的 Linux 和 開源軟體大會。由當地 MySQL社區組織並以MySQL社區日的名義舉辦。

國內優秀MySQL大會組織

ACMUG - 專注MySQL社區交流,注重實體交流

DTCC - IT168資料庫架構師大會,綜合性資料庫大會

Oracle技術嘉年華 -  以Oracle為主含MySQL的技術交流大會

電子書

MySQL 電子書以及相關材料。

媒體

公開,持續的視頻和音頻轉播。這不包括會議演講那令人恐懼的資源列表大小。

新聞周刊

_顧名思義,新聞周刊需要一個 email 地址。下面列出周刊只需要一個 email 地址。_

技術站點

MySQL相關中文技術站點,博客,聚合等資源

工具整理交流有任何建議或意見請加入QQ群:480110023

作者微信號:

 

    

相關焦點

  • 推薦九種常用的 MySQL 圖形化管理工具
    MySQL的管理維護工具非常多,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具
  • 這7 款 MySQL 客戶端工具,用了都說好!
    ,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。2、MySQLDumperhttp://www.mysqldumper.de/en/
  • 推薦一款 MySQL 表結構自動同步工具——mysql-schema-sync
    mysql-schema-sync 是一款使用 Go 開發跨平臺的 MySQL 表結構自動同步工具。
  • MySQL的圖形化工具——MySQL Workbench
    接觸過很多使用MySQL的人,當詢問他們使用哪種圖形化工具對MySQL資料庫執行操作管理時,得到的答案五花八門,卻很少有人使用MySQL官方的圖形化工具
  • 2020 常用的 7 款 MySQL 客戶端工具
    ,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。2、MySQLDumperhttp://www.mysqldumper.de/en/
  • 常用的MySQL圖形化管理工具
    MySQL的管理維護工具非常多,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。MySQL管理工具,支持中文,管理資料庫非常方便。
  • 使用mysqladmin工具統計mysql當前的T/QPS
    mysqladmin是mysql官方的一款執行管理端的客戶端程序,可以利用它對MySQL資料庫服務進行操作,在MySQL5.5及以前的版本中,最常用的方法是用它來關閉mysql實例:mysqladmin -uxxx -pxxx -Pxxx -hxxx  shutdown   隨著mysql版本的升級,mysql5.7中已經可以直接使用shutdown
  • 常用的 7 款 MySQL 客戶端工具,你值得擁有!
    Java技術棧www.javastack.cn打開網站看更多優質文章MySQL的管理維護工具非常多,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。
  • 10款最好用的MySQL資料庫客戶端圖形界面管理工具
    MySQL資料庫本身自帶有命令行工具管理工具(命令mysql和mysqladmin),也有圖形管理工具MySQL Workbench。但自帶的工具在功能上和易用性上總比不上第三方開發的工具,最著名的例子就是phpMyAdmin,使用它你幾乎能完成任何針對MySQL的管理任務。但它是一個Web界面的管理工具。
  • MySQL常見的圖形化工具
    因為MySQL開源的緣故,圖形化管理維護工眾多,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。以下按照小編喜歡程度降序排序0x01:NavicatNavicat是一款桌面版MySQL資料庫管理和開發工具。
  • 學習MySQL(四):客戶機和工具
    mysql> use db1;mysql> SELECT * FROM t1;mysql> UPDATE t1 SET id = id + 1;mysql> COMMIT;# mysql -uroot -p –safe-updatemysql> use db1;mysql&
  • 詳解 MySQL 基準測試和 sysbench 工具
    在針對MySQL進行基準測試時,一般使用專門的工具進行,例如mysqlslap、sysbench等。其中,sysbench比mysqlslap更通用、更強大,且更適合Innodb(因為模擬了許多Innodb的IO特性),下面介紹使用sysbench進行基準測試的方法。
  • Percona Toolkit工具連接MySQL 8報錯的解決方案
    使用Percona Toolkit的工具連接MySQL 8.x資料庫時,會遇到類似」failed: Plugin caching_sha2_password could not be loaded: lib64/mariadb/plugin/caching_sha2_password.so: cannot open shared object
  • MySQL 閃回原理與實戰
    也有團隊利用LVM快照來縮短恢復時間,但快照的缺點是會影響mysql的性能。MySQL閃回(flashback)利用binlog直接進行回滾,能快速恢復且不用停機。本文將介紹閃回原理,給出筆者的實戰經驗,並對現存的閃回工具作比較。
  • MySQL誤操作後如何快速恢復數據
    傳統解法用全量備份重搭實例,再利用增量binlog備份,恢復到誤操作之前的狀態。然後跳過誤操作的SQL,再繼續應用binlog。對於DML的回滾,此法費時費力,不值得再推薦。利用binlog2sql快速閃回首先,確認你的MySQL server開啟了binlog,設置了以下參數:[mysqld]server-id = 1log_bin = /var/log/mysql/mysql-bin.logmax_binlog_size = 100Mbinlog-format = row如果沒有開啟
  • MySQL企業版備份工具MEB
    數據備份是DBA的日常工作,也是保證數據安全的重要工作,要盡善盡美的完成這項工作,必須要使用一款高效可靠的備份工具。
  • Canal:同步mysql增量數據工具,一篇詳解核心知識點
    我們在對數據進行採集時根據下遊對數據的要求不同,我們可以使用不同的採集工具來進行。今天老劉給大家講的是同步mysql增量數據的工具Canal,本篇文章的大綱如下:老劉爭取用這一篇文章讓大家直接上手 Canal 這個工具,不再花別的時間來學習。
  • 幾種常用的 MySQL 圖形化管理工具
    ,除了系統自帶的命令行管理工具之外,還有許多其他的圖形化管理工具,這裡我介紹幾個經常使用的MySQL圖形化管理工具,供大家參考。1、phpMyAdminphpMyAdmin是最常用的MySQL維護工具,是一個用PHP開發的基於Web方式架構在網站主機上的MySQL管理工具,支持中文,管理資料庫非常方便。不足之處在於對大資料庫的備份和恢復不方便。2、MySQLDumper
  • 簡單、易用的 MySQL 官方壓測工具
    一、MySQL自帶的壓力測試工具 Mysqlslapmysqlslap是mysql自帶的基準測試工具,該工具查詢數據,語法簡單,靈活容易使用.該工具可以模擬多個客戶端同時並發的向伺服器發出查詢更新,給出了性能測試數據而且提供了多種引擎的性能比較。
  • 還原工具mysqldump
    (2) 備份多個資料庫 備份多個資料庫:mysql和mzlmysqldump -uroot -p123456 -h192.168.210.85 -P3306 --databases mysql mzl --single-transaction --force > mzl_mysql_db.sql(3) 備份單個資料庫根據是否使用