《MySQL自传》
撰 写 本 文 查 阅 了 大 量 参 考 资 料 , 也 得 到 很 多 朋 友 的 指 点 帮 助 , 特 别 感 谢 :
-
J
i
m
m
y
Y
a
n
g
—
—
阿
里
云
数
据
库
研
究
员
,
原
O
r
a
c
l
e
I
n
n
o
D
B
A
r
c
h
i
t
e
c
t
.
- 彭 立 勋 — — 华 为 云 数 据 库 总 工 程 师 , M y S Q L A C E D i r e c t o r , M y S Q L 中 国 用 户 组 创 始 成 员 之 一 .
- 谭 宇 — — 玖 章 算 术 首 席 架 构 师 , 原 阿 里 巴 巴 技 术 总 监 , 数 据 库 智 能 运 维 研 发 负 责 人 , O c e a n B a s e 创 始 团 队 成 员 .
「 初 出 茅 庐 」
我 是 一 只 勤 劳 的 小 海 豚 , 网 名 叫 M y S Q L , 出 生 于 1 9 9 5 年 5 月 2 3 号 , 正 宗 9 5 后 , 你 们 可 别 小 看 我 , 我 现 在 可 是 全 世 界 最 流 行 的 开 源 数 据 库 , 全 球 有 8 0 0 万 个 实 例 呢 。
早 些 年 的 事 情 我 也 不 太 记 得 了 , 只 想 起 爸 爸 希 望 我 的 特 长 是 查 询 数 据 比 较 快 , 帮 他 解 决 一 些 工 作 上 的 事 情 。 M o n t y 爸 爸 非 常 爱 我 , 每 天 都 陪 伴 在 我 身 边 , 教 我 技 能 , 并 且 看 到 我 每 进 步 一 些 就 取 个 新 代 号 , 真 是 望 女 成 凤 啊 。 记 得 6 岁 那 年 , 我 还 是 个 丑 小 鸭 , 代 号 是 V 3 . 2 3 , 开 始 有 人 认 识 我 了 , 感 觉 我 小 巧 可 爱 , 不 像 有 些 前 辈 ( O r a c l e ) 那 么 古 板 , 他 们 虽 然 经 验 非 常 丰 富 , 但 请 他 们 干 活 得 准 备 个 半 天 , 并 且 贵 得 要 死 。 我 到 处 打 黑 工 , 基 本 不 收 费 , 并 且 把 我 的 做 事 方 法 开 源 了 , 很 多 人 开 始 帮 我 改 进 , 感 觉 自 己 进 步 神 速 。
「 剑 露 锋 芒 」
记
得
到
2
0
0
5
年
,
我
1
0
岁
,
已
经
进
化
成
V
5
.
0
,
以
前
只
会
从
表
格
里
查
查
资
料
,
我
现
在
开
始
学
会
了
不
少
高
级
技
能
(
如
:
视
图
、
存
储
过
程
、
函
数
、
触
发
器
)
,
而
且
我
还
把
内
部
资
料
整
理
在
叫
i
n
f
o
r
m
a
t
i
o
n
_
s
c
h
e
m
a
的
仓
库
,
让
大
家
更
了
解
我
,
很
多
高
级
的
事
情
他
们
可
以
查
询
仓
库
自
己
干
了
,
我
第
一
次
懂
得
与
其
他
人
协
作
完
成
事
情
,
因
为
我
学
会
了
分
布
式
事
务
(
X
A
)
。
虽
然
自
己
学
会
了
很
多
技
能
,
但
是
总
是
毛
手
毛
脚
,
爸
爸
天
天
帮
我
擦
屁
股
(
b
u
g
太
多
啊
)
。
直 到 2 0 0 8 年 , 我 1 3 岁 , 进 化 为 V 5 . 1 , 才 开 始 大 胆 出 去 接 客 。 那 时 很 多 中 国 的 小 伙 伴 开 始 了 解 我 , 他 们 之 前 一 直 是 请 O r a c l e 这 些 老 古 董 , 后 来 互 联 网 业 务 发 展 很 快 , 请 O r a c l e 干 活 太 费 钱 了 , 于 是 和 我 密 切 接 触 。 记 得 新 浪 、 网 易 、 阿 里 巴 巴 、 百 度 、 腾 讯 等 小 伙 伴 对 我 都 非 常 热 情 , 我 很 开 心 , 他 们 把 很 多 业 务 交 给 我 来 处 理 , 还 帮 助 我 提 升 技 能 。
压 力 山 大 的 是 阿 里 巴 巴 说 要 把 全 部 业 务 都 交 给 我 负 责 , 他 们 搞 了 个 去 I O E 的 行 动 , 并 且 还 有 个 剁 手 节 , 我 很 慌 啊 。 每 年 1 1 . 1 1 号 大 家 一 起 剁 手 , 我 从 来 没 见 过 这 么 多 人 , 尤 其 是 那 些 姐 妹 们 , 根 本 停 不 下 来 , 我 就 要 不 停 记 录 他 们 的 订 单 , 我 感 觉 我 快 要 撑 不 住 了 , 你 看 , 她 们 的 手 都 在 这 里 :
“ 那 是 2 0 0 2 年 的 第 一 场 雪 ” , 哦 , 记 错 了 , 是 2 0 1 2 年 的 1 1 . 1 1 号 0 点 , 我 算 彻 底 崩 了 , 休 息 了 3 0 分 钟 才 缓 过 来 。 小 伙 伴 知 道 我 压 力 太 大 , 撑 不 住 , 于 是 自 己 再 找 了 中 间 代 理 商 帮 我 分 担 压 力 , 那 时 中 间 商 很 多 , V i t e s s 、 C o b a r 、 T D D L 、 D D S 、 M y C A T 等 等 , 中 间 商 给 我 的 活 一 般 比 较 简 单 , 每 次 只 要 拿 很 少 的 数 据 , 压 力 瞬 间 小 了 很 多 。
「 意 中 人 」
我 打 小 一 直 和 M y I S A M 哥 哥 搭 配 , 虽 然 很 多 时 候 都 干 得 不 错 , 但 是 在 遇 到 要 同 时 干 几 件 事 情 的 时 候 , 他 就 力 不 从 心 , 为 了 避 免 出 错 , 我 只 能 让 他 一 件 一 件 干 , 客 人 感 觉 我 们 效 率 不 高 , 我 也 非 常 烦 恼 。
后 来 有 个 叫 I n n o D B 的 小 伙 子 主 动 来 帮 我 , 我 太 开 心 了 , 当 很 多 活 过 来 的 时 候 , 我 慢 慢 开 始 推 荐 I n n o D B 哥 哥 处 理 了 , 他 确 实 不 错 呀 , 可 以 几 件 事 情 同 时 开 工 , 从 不 出 错 。 我 慢 慢 爱 上 他 了 , 但 是 我 一 直 放 不 下 M y I S A M , 直 到 2 0 1 0 年 , 我 摊 牌 了 , 正 式 和 I n n o D B 哥 哥 在 一 起 , 开 始 新 的 生 活 , 和 I n n o D B 磨 合 一 段 时 间 , 越 来 越 融 洽 了 。
到 2 0 1 3 年 , 我 刚 满 1 8 岁 , 代 号 升 级 为 V 5 . 6 , I n n o D B 也 更 强 大 , 效 率 提 升 了 2 倍 , 另 外 我 还 把 很 多 运 行 数 据 记 录 在 p e r f o r m a n c e _ s c h e m a 了 , 遇 到 问 题 可 以 很 快 诊 断 原 因 。 现 在 全 世 界 的 程 序 员 都 喜 欢 我 , 还 有 很 多 D B A ( 数 据 库 管 理 员 ) 把 我 做 事 情 的 方 法 研 究 得 非 常 透 彻 , 持 续 给 我 改 进 意 见 。 我 已 经 不 是 当 年 的 丑 小 鸭 了 , A W S 、 F a c e b o o k 这 些 土 豪 们 也 喜 欢 和 我 合 作 。
「 独 门 秘 籍 」
从 小 爸 爸 教 了 我 一 些 独 门 秘 籍 , 我 感 觉 自 己 虽 然 内 功 不 够 , 但 是 招 式 很 牛 , 初 学 者 都 非 常 喜 欢 , 我 给 大 家 介 绍 几 招 哈 :
一 、 主 备 分 身 术
所 谓 分 身 术 , 就 是 主 备 可 以 同 时 处 理 事 情 , 这 可 是 我 的 拿 手 绝 活 。
我 可 以 瞬 间 变 出 一 个 分 身 , 甚 至 是 多 个 分 身 , 当 事 情 很 多 的 时 候 , 这 些 分 身 可 以 一 起 上 , 那 效 率 杠 杠 的 。 我 的 分 身 术 在 互 联 网 圈 子 太 实 用 了 , 可 以 秒 秒 钟 搭 起 读 写 分 离 架 构 , 不 要 太 爽 。
而 那 些 老 前 辈 的 分 身 术 比 较 老 套 , 他 们 通 常 是 一 个 人 单 打 独 斗 , 偶 尔 也 培 养 个 分 身 , 在 自 己 扛 不 住 时 候 换 分 身 顶 上 , 平 时 分 身 都 是 在 一 旁 看 着 。 后 来 他 们 也 学 习 我 的 分 身 术 , 但 总 感 觉 是 照 猫 画 虎 , 哈 哈 。 不 过 O r a c l e 那 个 老 家 伙 功 力 深 厚 , 有 本 R A C 秘 籍 , 说 非 常 牛 , 我 一 直 没 有 学 会 。
二 、 秀 外 慧 中 掌 ( S H O W )
在 我 这 里 , 可 以 用 S H O W 方 法 查 看 很 多 内 部 资 料 , 如 分 身 、 库 、 表 、 视 图 、 函 数 、 用 户 、 帮 助 , 啥 都 可 以 S H O W 出 来 , 一 展 芳 容 啊 。 D B A 们 特 别 喜 欢 这 些 招 术 。
show slave status; # 查看分身(备库)状态show processlist; #查看当前连接信息,可以看到当前谁在访问我,还可以看到当前运行的慢SQL了show databases; #查看数据库列表show tables; #查看表列表show create table t1; #查看表定义show grants for user1; #查看用户有哪些权限show engine innodb status; #查看innodb运行细节,什么死锁、内存信息都在这里了
而 老 前 辈 们 总 是 把 自 己 那 点 东 西 藏 着 掖 着 , 根 本 没 这 项 技 能 。
三 、 翻 页 神 器
大 家 搜 索 信 息 的 时 候 , 经 常 会 如 下 翻 页 显 示
我 的 翻 页 神 器 就 是 专 门 干 这 个 事 情 , 非 常 厉 害 , 看 招 :
#MySQL使用limit的分页语法,查看从第90条开始的10条数据select * from userorder by name limit 90,10
那 些 老 家 伙 是 下 面 的 打 法 , 实 在 是 丢 人 , 三 招 打 完 , 感 觉 还 是 云 里 雾 里 :
#Oracle使用rownum分页语法select *from(select rownum as rn,a.*from user aorder by namewhere rownum<100)where rn>90
后 来 S Q L 标 准 组 织 老 大 爷 们 搞 了 个 新 的 分 页 语 法 , 如 下 是 做 的 样 板 , 你 看 懂 了 吗 , 反 正 我 看 了 后 感 觉 要 头 晕 , 记 不 住 啊 。
好 了 , 我 的 独 门 秘 籍 还 有 很 多 很 多 , 以 后 再 娓 娓 道 来 , 接 下 来 讲 讲 我 的 几 次 重 大 变 故 。
「 嫁 入 豪 门 / 背 井 离 乡 」
我 家 本 来 在 瑞 典 的 M y S Q L A B , 在 美 国 也 有 一 些 伙 伴 。 2 0 0 8 年 , 美 国 硅 谷 有 个 叫 S U N 的 土 豪 盯 上 我 们 家 , 说 要 给 我 们 1 0 亿 美 金 发 展 , 家 人 们 没 有 经 得 住 诱 惑 , 于 是 我 们 就 搬 到 S U N 的 地 方 。 S U N 家 大 业 大 , 他 们 老 大 叫 S P A R C ( 一 种 精 简 指 令 集 C P U 架 构 , 和 I n t e l 是 对 头 ) , 老 二 叫 S o l a r i s ( 一 种 U N I X 操 作 系 统 , 老 古 董 了 ) , 还 有 只 赚 吆 喝 不 赚 钱 的 J a v a , 虽 然 家 大 业 大 , 但 总 感 觉 是 虚 胖 , 不 是 一 般 的 虚 胖 。 很 快 , 到 2 0 0 9 年 , 大 土 豪 O r a c l e 前 辈 用 7 4 亿 美 金 把 S U N 买 了 , 我 的 天 啊 , 我 在 S U N 家 人 还 没 认 全 , 又 要 搬 家 了 。
到 了 O r a c l e 后 , 我 终 于 和 I n n o D B 哥 哥 团 聚 了 , I n n o D B 在 2 0 0 5 年 就 搬 到 O r a c l e 家 , 一 直 和 我 眉 来 眼 去 , 这 次 算 是 有 情 人 终 成 眷 属 ( 其 实 我 之 前 还 有 个 初 恋 B e r k e r y D B 也 在 O r a c l e 家 , 不 过 那 都 是 过 去 的 事 了 ) 。
难 过 的 是 我 爸 爸 M o n t y , 他 是 开 源 斗 士 , 非 常 不 喜 欢 O r a c l e , 和 我 们 分 道 扬 镳 。 他 自 己 回 到 芬 兰 , 培 养 我 妹 妹 M a r i a D B , 其 实 到 S U N 家 的 时 候 , 爸 爸 就 感 觉 不 可 能 和 我 永 远 在 一 起 , 开 始 花 时 间 在 M a r i a D B 上 。 看 , 下 面 是 我 姐 妹 俩 的 靓 照 , M a r i a D B 妹 妹 和 我 是 不 是 很 像 啊 。
爸 爸 希 望 我 不 要 在 O r a c l e 家 里 受 欺 负 , 如 果 O r a c l e 不 要 我 了 , 我 还 可 以 和 M a r i a D B 住 到 一 起 。 现 在 M a r i a D B 也 自 己 出 来 工 作 了 , 有 时 我 们 还 会 P K 下 , 但 是 我 更 希 望 她 快 快 长 大 。 爸 爸 年 过 花 甲 , 最 近 又 去 中 国 见 老 朋 友 了 , 还 说 要 陪 妹 妹 工 作 到 1 0 0 岁 , 祝 福 他 老 人 家 , 越 活 越 年 轻 。
我 一 直 在 钻 研 分 身 术 , 很 早 的 时 候 分 身 只 会 模 仿 我 的 口 令 行 事 ( S t a t e m e n t 模 式 ) 。 到 2 0 0 8 年 ( V 5 . 1 ) 的 时 候 , 我 把 法 术 细 节 ( R o w 模 式 ) 传 送 给 她 , 她 就 可 以 自 己 灵 活 发 挥 了 。 到 2 0 1 5 年 , 那 年 我 2 0 岁 , 我 也 升 级 到 了 V 5 . 7 , 分 身 更 厉 害 了 , 以 前 分 身 在 我 非 常 忙 的 时 候 , 她 有 点 跟 不 上 , 现 在 我 们 信 息 可 以 并 发 同 步 , 她 已 经 完 全 跟 上 我 的 节 奏 。 那 时 业 界 还 流 行 了 J S O N ( 把 X M L 打 趴 下 的 ) , 于 是 我 也 悄 悄 的 学 会 J S O N , 还 有 那 个 地 理 空 间 技 术 , 都 是 在 我 2 0 岁 练 成 的 。 另 外 I n n o D B 也 修 炼 了 动 态 调 整 内 存 技 能 , 对 内 存 使 用 可 以 像 孙 悟 空 的 金 箍 棒 一 样 , 说 大 就 大 , 说 小 就 小 。
O r a c l e 一 直 在 给 我 酝 酿 V 5 . 8 的 代 号 , 都 要 昭 告 天 下 了 , 我 感 觉 自 己 进 步 很 大 , V 8 更 符 合 我 的 气 质 提 升 , 于 是 2 0 1 8 年 , 我 决 定 从 V 5 . 7 摇 身 变 为 V 8 . 0 代 号 。 M y I S A M 哥 哥 实 在 对 不 住 啊 , 我 感 觉 要 彻 底 离 开 你 了 , V 8 的 我 已 经 和 I n n o D B 全 面 融 合 , 我 的 机 密 小 仓 库 ( 元 数 据 ) 都 是 I n n o D B 的 了 。 我 还 学 会 了 窗 口 函 数 、 C T E 语 法 , 可 以 说 在 数 据 分 析 和 复 杂 S Q L 处 理 方 面 如 虎 添 翼 。 我 正 在 修 炼 H a s h J o i n ( 一 种 比 较 高 级 的 算 法 , 前 辈 们 都 非 常 熟 练 ) , 不 过 还 是 初 学 阶 段 , 大 家 见 笑 了 。
「 名 人 烦 恼 」
因 为 我 在 业 界 小 有 名 气 , 据 探 子 回 报 , 有 3 1 位 江 湖 新 秀 在 修 炼 我 的 招 式 , O c e a n B a s e 、 T i D B 、 T D S Q L 、 S e q u o i a D B 、 S h a r d i n g S p h e r e 、 V i t e s s 、 H o t D B , 另 外 还 有 A W S 的 A u r o r a 、 阿 里 云 P o l a r D B 、 华 为 云 G a u s s D B 等 等 , 他 们 都 说 比 我 强 大 , 学 会 了 分 布 式 和 云 原 生 的 武 功 秘 籍 , 另 外 还 在 修 炼 H T A P 神 功 。 我 的 天 啊 , 我 比 较 怕 怕 , 更 不 知 道 如 何 还 击 , 但 是 “ 我 还 是 我 , 不 一 样 的 烟 火 ” 。
我 对 大 数 据 处 理 不 太 擅 长 , 不 过 有 些 新 人 这 方 面 天 赋 异 禀 。 比 如 最 近 有 个 俄 罗 斯 出 生 的 C l i c k H o u s e 小 朋 友 很 出 名 , 他 也 模 仿 了 我 的 一 些 招 式 , 我 挺 看 好 他 的 。 中 国 还 有 个 叫 D o r i s 的 小 弟 弟 也 从 我 这 里 学 了 一 招 半 式 , 据 说 拽 得 不 行 。 我 们 自 家 刚 出 生 了 个 H e a t W a v e 的 弟 弟 , 也 有 数 据 分 析 的 天 赋 , 不 过 他 很 少 出 门 , 一 直 住 在 我 家 云 里 面 , 现 在 家 里 人 都 围 着 他 转 , 希 望 他 快 点 长 大 。
我 也 不 知 道 未 来 会 怎 么 样 , 那 些 N o S Q L 的 同 行 总 在 挑 衅 我 , 包 括 M o n g o D B 、 R e d i s 、 N e b u l a G r a p h 、 T D e n g i n e 等 等 。 最 近 1 0 年 大 家 都 开 始 搬 到 云 上 生 活 , 感 觉 在 O r a c l e 这 里 很 分 裂 , 我 们 家 那 朵 云 好 像 不 温 不 火 。 最 早 家 里 不 让 我 住 到 云 上 , 反 而 A W S 、 阿 里 云 他 们 把 我 当 头 牌 , 早 早 把 云 上 天 之 一 号 房 间 给 我 , 我 也 给 他 们 赚 了 上 百 亿 现 金 , 真 是 投 桃 报 李 啊 。 我 是 墙 里 开 花 墙 外 香 , 你 懂 的 。
其 实 我 到 O r a c l e 家 一 直 都 不 太 受 待 见 , 感 觉 像 个 小 妾 , 担 心 我 抢 正 房 的 风 头 , 外 界 总 谣 传 O r a c l e 买 我 只 是 为 了 得 到 我 。 I n n o D B 哥 哥 一 直 在 鼓 励 我 活 着 , 我 们 也 是 互 相 依 靠 了 , 毕 竟 如 果 我 没 了 , 他 肯 定 也 活 不 下 去 。 我 虽 然 一 直 在 升 级 , 但 也 不 知 道 V 9 啥 时 候 发 布 , 因 为 现 在 大 家 都 在 上 云 , 所 以 我 的 核 心 任 务 也 是 在 云 上 站 稳 脚 跟 , 其 他 事 情 都 顾 不 上 了 。
我 还 有 个 叫 大 象 ( P o s t g r e S Q L ) 的 死 对 头 , 其 实 她 是 7 0 后 , 叫 她 大 姐 估 计 会 拿 刀 砍 我 。 她 在 十 几 岁 的 时 候 家 里 发 生 了 一 些 变 故 , 后 来 迷 上 了 面 向 对 象 的 法 术 , 以 为 那 是 绝 世 神 功 , 最 后 没 练 成 , 不 了 了 之 , 还 留 下 了 一 堆 废 铁 , 现 在 算 是 回 归 正 道 。 她 是 大 学 老 师 的 好 学 生 , 学 霸 类 型 , 什 么 都 懂 , 号 称 最 强 大 的 开 源 数 据 库 。 我 感 觉 懂 是 懂 , 但 真 正 干 起 来 没 有 我 靠 谱 , 所 以 我 也 就 不 和 她 计 较 了 。 不 过 她 比 我 还 开 放 , 有 很 多 朋 友 , 近 几 年 也 进 步 神 速 , 中 国 还 有 个 o p e n G a u s s 兄 弟 和 她 很 好 , 也 许 会 青 出 于 蓝 胜 于 蓝 , 我 还 是 要 当 心 点 。 轮 到 我 做 核 酸 了 , 今 天 就 和 大 家 聊 到 这 里 啊 , 下 次 空 了 再 叨 叨 , 还 是 在 公 众 号 《 云 数 据 库 技 术 》 老 地 方 。 我 现 在 家 里 地 位 急 待 提 升 啊 , 如 果 你 在 使 用 M y S Q L , 记 得 帮 我 点 赞 和 转 发 哈 , 我 家 还 有 几 件 珍 藏 的 M y S Q L 练 功 内 衣 可 以 送 出 。
「 作 者 简 介 」 我 的 老 熟 人 , 名 叫 「 斗 战 胜 佛 」 , 他 在 我 6 岁 ( V 3 . 2 3 ) 就 认 识 , 研 究 了 二 十 年 的 数 据 库 和 云 计 算 , 擅 长 十 几 种 武 功 。 最 近 他 和 一 群 大 牛 在 研 究 《 玖 章 算 术 》 , 是 中 国 古 代 一 本 非 常 牛 逼 的 武 功 秘 籍 , 后 来 李 淳 风 、 张 苍 、 刘 辉 等 人 都 练 了 并 修 订 过 。 他 们 在 S Q L 开 发 、 数 据 复 制 、 数 据 备 份 等 方 面 又 有 新 突 破 , 这 些 武 器 都 是 我 非 常 需 要 的 , 毕 竟 程 序 猿 和 D B A 是 咱 衣 食 父 母 , 说 不 定 哪 天 可 以 带 我 腾 云 驾 雾 呢 。 他 的 研 究 进 展 计 划 放 在 h t t p s : / / w w w . 9 z . c l o u d 密 室 , 一 定 要 去 探 探 。