【专题】MySQL 关系型数据库

2016-10-19 Wednesday    


MySQL Logo

MySQL 是一款最流行的开源关系型数据库,最初由瑞典的 MySQL AB 公司开发,目前已被 Oracle 收购,现在比较流行的开源分支包括了 MariaDB 和 Percona。

其中 MariaDB 由 MySQL 创始人 Michael Widenius 主导开发,主要原因之一是:Oracle 收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。为了与原 MySQL 区分,不再使用原来的版本号,而是采用新的 10.0。

Percona 是最接近官方 MySQL Enterprise 发行版的版本,也就是说它提供了一些 MySQL 企业版采用的功能,并且包括了一些比较好用的常用工具。其中的缺点是,为了确保对产品中所包含功能的控制,他们自己管理代码,并不接受社区开发人员的贡献。

文章

  • MySQL 写在开头,主要保存一些经常使用的 MySQL 资源。
  • MySQL 简单介绍,简单介绍 MySQL 常见的使用方法,包括安装启动、客户端使用、调试等。
  • MySQL 基本概念,介绍 MySQL 中一些基本的概念,包括了 SQL、JOIN、常见测试库等。
  • MySQL 监控指标,包括了一些 MySQL 常见的监控指标及其含义等。
  • MySQL Handler 监控,主要介绍下监控指标中与 handler_read_* 相关的内容。
  • MySQL 用户管理,一些用户相关的操作,包括了用户管理、授权、密码恢复等。
  • MySQL 通讯协议,简单介绍 MySQL 的服务器与客户端是如何进行通讯的。
  • MySQL 语法解析,SQL 的处理过程包括了词法分析、语法分析、语义分析、构造执行树等。
  • MySQL 插件详解,关于 MySQL 中一些插件功能的实现,主要是一些通用插件的介绍。
  • MySQL 存储引擎,介绍下与存储引擎相关的内容,包括了提供的接口,实现方法等。
  • MySQL 线上部署,简单记录一些线上部署时常见的配置内容。
  • MySQL 执行简介,简单介绍 MySQL 中的查询最终是如何执行的。
  • MySQL 自带工具,简单介绍下 MySQL 中自带的工具集。
  • MySQL 常用工具,一些运维过程中常见的三方工具,包括压测工具。
  • MySQL Sandbox,本地搭建多个 MySQL 实例的工具,包括主备、循环复制、一主多备等等。
  • MySQL 启动脚本,详细介绍下 mysqld_safe 脚本的执行流程。
  • MySQL Core 文件,一些关于 CoreDump 文件以及 debuginfo 的介绍。
  • MySQL 关闭过程,简单分析下 mysqld 进程关闭的过程,以及关闭过程中执行的操作。
  • MySQL 杂项,简单记录下 MySQL 常见的一些操作。

高可用

  • MySQL 日志相关,一些常见的日志介绍,同时也包括了 binlog 的详细介绍。
  • MySQL 组提交,主要是关于 binlog 的组提交实现,介绍各个阶段的实现原理。
  • MySQL 复制方式,数据复制方法,也是一些高可用解决方案的基础,介绍概念、配置方式。
  • MySQL 复制源码解析,从源码的角度看看复制是如何执行的。
  • MySQL 半同步复制,关于半同步复制的详细解析,包括了源码的实现方式。
  • MySQL GTID 简介,主要介绍下 GTID 配置、实现方式,有那些限制,运维场景等。
  • MySQL Crash-Safe 复制,在主备复制时,如何保证数据的一致性,当然主要是备库。
  • MySQL 主备数据校验,由于各种原因,主从架构可能会出现数据不一致,简单介绍校验方式。
  • MySQL 高可用 MHA,相对成熟的方案,能做到30秒内自动故障切换,且尽可能保证数据一致性。
  • MySQL 组复制,也就是基于 Paxos 协议变体实现,提供了一种高可用、强一致的实现。

InnoDB



如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^