乾貨!MySQL 資源大全

  • 2019 年 10 月 4 日
  • 筆記

乾貨!MySQL 資源大全

2016-06-09 程式設計師的那些事 程式設計師的那些事

英文:shlomi-noach 譯者:伯樂在線 – 夏了夏天 鏈接:http://blog.jobbole.com/100516/

shlomi-noach 發起維護的 MySQL 資源列表,內容覆蓋:分析工具、備份、性能測試、配置、部署、GUI 等。

伯樂在線已在 GitHub 上發起「MySQL 資源大全中文版」的整理。歡迎擴散、歡迎加入。 https://github.com/jobbole/awesome-mysql-cn

分析工具

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

  • Anemometer – 一個 SQL 慢查詢監控器。
  • innodb-ruby – 一個對 InooDB 格式文件的解析器,用於 Ruby 語言。
  • innotop – 一個具備多種特性和可擴展性的 MySQL 版 『top』 工具。
  • pstop – 一個針對 MySQL 的類 top 程式,用於收集,匯總以及展示來自 performance_schema 的資訊。
  • mysql-statsd – 一個收集 MySQL 資訊的 Python 守護進程,並通過 StatsD 發送到 Graphite。

備份

備份/存儲/恢復 工具

  • MyDumper – 邏輯的,並行的 MySQL 備份/轉儲工具。
  • MySQLDumper – 基於 web 的開源備份工具-對於共享虛擬主機非常有用。
  • mysqldump-secure – 將加密,壓縮,日誌,黑名單和 Nagios 監控一體化的 mysqldump 安全腳本。
  • Percona Xtrabackup – 針對 MySQL 的一個開源熱備份實用程式——在伺服器的備份期間不會鎖定你的資料庫。

性能測試

給你的伺服器進行壓測的工具

  • iibench-mysql -基於 Java 的 MySQL/Percona/MariaDB 索引進行插入性能測試工具。
  • Sysbench – 一個模組化,跨平台以及多執行緒的性能測試工具。

聊天應用

集成進聊天室的腳本

  • Hubot MySQL ChatOps

配置

MySQL 配置實例及指導

  • mysql-compatibility-config – 使 MySQL 配置起來更像新的(或先前)的 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 實現的地理分散式集群。

代理

MySQL 代理

  • MaxScale – 開源,以資料庫為中心的代理。
  • Mixer – Go 實現的一個 MySQL 代理,目的為 MySQL 分片提供一個簡單的解決方案。
  • MySQL Proxy – 一個處於你的客戶端和 MySQL 服務端之間的簡單程式,它可以檢測、分析或者改變它們的通訊。
  • ProxySQL – 高性能的 MySQL 代理。

複製

複製相關的軟體

  • orchestrator – 對 MySQL 複製拓撲管理並可視化的工具。
  • Tungsten Replicator – MySQL 的一個高性能、開源、數據複製引擎。

模式

附加模式

  • common_schema – MySQL DBA 的框架, 提供一個具有函數庫、視圖庫和查詢腳本的解釋器。
  • sys – 一個視圖、函數和過程的集合,以幫助 MySQL 管理人員更加深入理解 MySQL 資料庫的使用。

伺服器

MySQL server flavors

  • MariaDB – MySQL server 的一個由社區開發的分支。
  • MySQL Server & MySQL Cluster – Oracle 官方的 MySQL server 和 MySQL 集群分布。
  • Percona Server – 一個加強版的 MySQL 替代品
  • WebScaleSQL – WebScaleSQL,5.6 版本,基於 MySQL 5.6 社區版本。

分片

分片解決方案/框架

  • vitess – 對於大規模的 web 服務,vitess 提供服務和工具以便於 MySQL 資料庫的縮放。
  • jetpants – 一個自動化套件,用於管理大規模分片集群,由 Tumblr 開發。

工具包

工具包,通用腳本

  • go-mysql – 一個純 go 的庫,用於處理 MySQL 的網路協議和複製。
  • MySQL Utilities – 一個命令行實用程式的集合,Python 語言編寫,用於維護和管理單一或多層的 MySQL。
  • Percona Toolkit – 一個先進的命令行工具集,用於執行對於 MySQL 伺服器和系統過於困難或複雜的任務。
  • openark kit – 一組實用的工具,解決日常的維護工作,包括一些複雜的或需徒手操作的,用 Python 語言編寫。
  • UnDROP – 一個用來恢復刪除或損壞的 InnoDB 表中數據的工具。

資源

在這個階段,「資源」不包括網站,部落格,幻燈片,演示影片等。這些資源列表的大小令人恐懼。

會議

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

  • FOSDEM – 一個軟體開發人員見面、交流思想與協作的活動。每年在 Brussels 舉行。提供 「MySQL & friends」 開發工作室。
  • MySQL Central – Oracle 年度 MySQL 大會,是 Oracle Open World 的一部分。
  • Percona Live – MySQL 和 OpenStack 的重要會議。
  • SCALE – 一個每年在南加州舉辦,由社區組織的 Linux 和 開源軟體大會。由當地 MySQL社區組織並以MySQL社區日的名義舉辦。

電子書

MySQL 電子書以及相關材料。

  • SQL-exercise – 包含幾個 SQL 練習,包括模式描述,用 SQL 語句去建立模式,SQL 的問題及解決方案。以 wikibook SQL 練習為基礎。

媒體

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

  • DBHangOps – 兩周一次由各種各樣的 MySQL 社區人員參加的 google 聚集大會,大會的日常就是談論一切關於 MySQL 的東西。
  • OurSQL Podcast – MySQL 資料庫社區Podcast。

新聞周刊

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

  • Weekly MySQL News – 非官方的 MySQL新聞摘要,包含關於MySQL的各類資訊。