MySQL 资源大全,内容包括:分析工具、备份、性能测试、配置、部署、GUI 等

huanglimin 327644a1d4 Update README.md 4 years ago
README.md 327644a1d4 Update README.md 4 years ago

README.md

MySQL 资源大全中文版

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-mysql 就是 shlomi-noach 发起维护的 MySQL 资源列表,内容包括:分析工具、备份、性能测试、配置、部署、GUI 等。

Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。


我们要做什么?


如何参与本项目?


本项目的参与者

注:名单不分排名,不定期补充更新


目录

  • 分析工具
  • 备份
  • 性能测试
  • 聊天应用
  • 配置
  • 连接器
  • 部署
  • 开发
  • GUI
  • HA
  • 代理
  • 复制
  • 模式
  • 服务器
  • 分片
  • 工具包

资源

  • 文档
  • 电子书
  • 媒体
  • 简讯

分析工具

性能,结构和数据分析工具

  • 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 - 一个模块化,跨平台以及多线程的性能测试工具。

聊天应用

集成进聊天室的脚本

配置

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 代理。

复制

复制相关的软件

模式

附加模式

  • common_schema - MySQL DBA 的框架, 提供一个具有函数库、视图库和查询脚本的解释器。
  • sys - 一个视图、函数和过程的集合,以帮助 MySQL 管理人员更加深入理解 MySQL 数据库的使用。

服务器

MySQL server flavors

分片

分片解决方案/框架

  • 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 练习为基础。
  • sqlfiddle - 在线执行 sql 测试。

媒体

公开,持续的视频和音频转播。这不包括会议演讲那令人恐惧的资源列表大小。

  • DBHangOps - 两周一次由各种各样的 MySQL 社区人员参加的 google 聚集大会,大会的日常就是谈论一切关于 MySQL 的东西。
  • OurSQL Podcast - MySQL 数据库社区播客。

新闻周刊

_顾名思义,新闻周刊需要一个 email 地址。下面列出周刊只需要一个 email 地址。

  • Weekly MySQL News - 非官方的 MySQL新闻摘要,包含关于MySQL的各类信息。

微信公众号

  • 数据分析与开发:专注分享数据库相关内容,包括:各种主流 DB 的最佳实践、数据库基础知识、性能优化、数据安全等。

  • Linux爱好者:专注分享 Linux/Unix 相关内容,包括:工具资源、使用技巧、课程、书籍等。