MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
为了让开发者更好的了解使用MySQL,充分发挥其灵活性的优势。云栖社区组织翻译了GitHub Awesome MySQL 资源,其中不仅涵盖MySQL部署、开发、性能测试等操作中使用的工具包和库,还包括MySQL相关的会议、多媒体等资源。

分析

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

  • Anemometer – Box SQL慢查询监控器
  • innodb-ruby – Ruby中的InnoDB文件格式分析器
  • innotop – innotop是一个MySQL的顶级克隆品,其功能多样化并兼具灵活性
  • pstop – MySQL中的一个顶级应用程序,用于搜集、汇总和显示来自performance_schema中的信息
  • mysql-statsd – 一个Python进程,用于从MySQL中收集信息,然后将其通过 StatsD发送到Graphite中
  • MySQLTuner-perl – 一个用于使用者快速回顾MySQL的安装过程,然后做出相应的调整以提高性能和稳定性的脚本

备份

备份/还原/恢复工具

  • MyDumper – MySQL中逻辑、并行备份/转存工具
  • MySQLDumper – 基于Web的开源备份工具-对共享虚拟主机很有帮助
  • Percona Xtrabackup – MySQL中的一个基于服务器的开源的热备份实用程序-在备份过程中不锁定你的数据库

性能测试

用于服务器压测的工具

  • iibench-mysql – MySQL/Percona/MariaDB中基于 Java 版本的索引插入性能测试工具
  • Sysbench –  一个模块化、跨平台以及多线程的性能测试工具

聊天工具

集成到聊天室的脚本

配置

MySQL 配置实例及指导

连接器

多种编程语言的MySQL连接器

  • Connector/Python – Python平台和开发的标准化数据库驱动程序
  • go-sql-driver – 一个面向Go 语言的数据库/SQL包的轻量级极速的 MySQL 驱动程序
  • libAttachSQL – libAttachSQL 是MySQL 服务器的一个轻量级、非阻塞的C语言API
  • MariaDB Java Client – – 针对 Java 应用的 MariaDB 客户端库,满足LGPL协议许可
  • MySQL-Python – 用于连接 Python 程序的 MySQL 数据库连接器
  • PHP mysqlnd – MySQL的本地驱动,摒弃了过时的 libmysql 基础驱动

部署

MySQL 部署工具

  • MySQL Docker – Docker官方镜像
  • MySQL Sandbox – 可秒级安装一个或多个MySQL服务器的工具,该工具方便、安全且全控制

开发

MySQL相关的开发工具

  • Flywaydb – 数据库与迁移;任何情况下都可轻松可靠地演进数据库版本;Liquibase – 用于数据库的源码控制
  • Propagator 一个用于多维拓扑上集中模式和数据部署的工具

GUI

GUI前端和应用

  • Adminer – 用于单个PHP文件中的数据库管理
  • HeidiSQL – Windows系统中的MySQL GUI前端
  • MySQL Workbench – 为数据库管理员和开发者对数据库设计和建模提供了集成工具环境
  • phpMyAdmin – 一个由PHP语言编写的免费软件工具,目的是在Web上提供对MySQL的管理功能
  • SequelPro – Mac版本的MySQL 的数据库管理应用程序
  • mycli – 一个带自动补全和语法高亮的终端版 MySQL 客户端

HA

高可用性解决方案

  • Galera Cluster – 一个基于同步复制的真正的多主机集群方案
  • MHA –  针对 MySQL 的优秀的高可用管理器及工具
  • MySQL Fabric – 一个用于管理MySQL服务器集群的可扩展框架
  • Percona Replication Manager – MySQL 的异步复制管理代理。支持以文件和 GTID 为基础的复制,同时使用Booth 实现的地理位置分布式集群

代理

MySQL中的代理

  • MaxScale – 开源的、以数据库为中心的代理
  • Mixer – 由GO语言编写的MySQL代理,其目的是为MySQL分片提供一个简单的解决方案
  • MySQL Proxy – 一个处于你的客户端和MySQL服务器之间的简单应用程序,可以用于监控、分析或者转变二者的通信方式
  • ProxySQL – MySQL中的高性能代理
  • MySQL Router -MySQL Router是一个轻量级的中间件,为应用程序和后端MySQL服务器提供透明的路由路径

复制

与复制相关的软件

模式

附加模式

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

服务器

MySQL服务器

  • MariaDB – MariaDB是一个由社区开发的MySQL服务器的分支
  • MySQL Server & MySQL Cluster – Oracle官方的 MySQL 服务器和MySQL 集群分布
  • Percona Server – 一个加强版、可替代MySQL的新生服务器
  • WebScaleSQL – WebScaleSQL 的5.6版本,其基于 MySQL 5.6 社区版本

分片

分片解决方案和框架

  • vitess – 针对大规模的 web 服务,vitess 同时提供了服务和工具以便于 MySQL 数据库的缩放
  • jetpants – jetpants是由一个Tumblr 开发的自动化套件,用于管理大规模分片集群

工具包

工具包、通用脚本

  • go-mysql – 一个纯 Go语言的库,用于处理 MySQL 中的网络协议和复制
  • MySQL Utilities – 一系列由Python编写的命令行工具,用于维护和管理单一或多层的MySQL服务器
  • Percona Toolkit – 一个先进的命令行工具集,用于处理 MySQL 服务器和系统中一些任务,这些任务如果采用手动处理的话过于困难或复杂
  • openark kit – 一组实用的工具,用于日常的维护工作,包括一些复杂的或需徒手操作的操作,该工具用 Python 语言编写
  • UnDROP – 该工具用于恢复 InnoDB 表中删除或损坏的数据

资源

本节所述的资源不包括网站、博客、幻灯片、演示视频等

会议

围绕MySQL及其相关议题周期性的、公开的会议

  • FOSDEM – 一个免费的见面会活动,旨在帮助软件开发人员互相熟悉、交流思想与相互协作。每年在Brussels 举办,为MySQL和它的伙伴提供了场地
  • MySQL Central – Oracle年度MySQL大会,同时是 Oracle Open World的一部分
  • Percona Live – MySQL 和 OpenStack 的重要会议
  • SCALE – 一个每年在California南部召开,由 社区举办的Linux 和 开源软件大会。当地MySQL社区会以MySQL Community Day之名举办一次游行活动

电子书

MySQL相关的电子书及其他资料

  • SQL-exercise – 包含多个SQL练习实例,包括架构描述、采用SQL语法去建立模式、SQL中的常见问题和解决方案。这些实例以 wikibook SQL 练习为基础

媒体

本节主要涵盖公开、持续的视频和音频转播,不包括多如牛毛的会议演讲

  • DBHangOps – 由来自MySQL社区成员参加的Goole聚集大会,大会两周举办一次,大会的日常就是探讨一切与 MySQL 的相关事物
  • OurSQL Podcast – MySQL 数据库社区播客

新闻周刊

顾名思义,订阅新闻周刊需要一个 email 地址。下表所列的资源也仅需一个Email 地址就可以搞定


以上为“MySQL资料大全”所有内容,更多精彩敬请期待。


编译自:https://github.com/shlomi-noach/awesome-mysql/blob/gh-pages/index.md