MySQL 运维实战课
张新铭(俊达)
云掣科技资深数据库专家,前淘宝网、支付宝数据库专家
173 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 2 讲/共 41 讲
第一章 MySQL基础运维 (1讲)
MySQL 运维实战课
15
15
1.0x
00:00/09:15
登录|注册

开篇词|理论+实践,带你解决90%以上的MySQL运维问题

讲述:俊达大小:8.45M时长:09:15
你好,我是俊达,欢迎你加入到《MySQL 运维实战课》的学习中,和我一起探索数据库的奥秘。
我先来介绍一下我自己,2009 年我曾作为 Oracle DBA 加入了淘宝网的 DBA 团队,负责支持多个业务线的数据库需求。后面因为去 IOE 战略,我又参与了从 Oracle 到 MySQL 的数据库迁移。从 Oracle 转变到 MySQL,是当时的一股风潮,开源数据库 MySQL 就是在这个时间段开始崛起的。而我在负责迁移到 MySQL 的过程中,也遇到了不少问题。为了解决这些问题,我开始研究 MySQL 代码实现。
后来,我又转战支付宝,还是和 MySQL 打交道,负责构建 MySQL 的运维体系。无论是前期作为淘宝网的开发 DBA,为业务发展提供数据库支持和稳定性保障,还是后期在支付宝负责整个数据库的运维,都让我对 MySQL 的应用和研究更进了一步。
2013 年,我开始支持阿里云 RDS 产品的运维工作,主要负责 MySQL 和 SQL Server 这两个数据库引擎。RDS 产品的开放性带来了新的挑战,当时就有一个比较棘手的问题——数据库连接闪断,这个问题有偶发性,背后原因多种多样,而且有的客户对数据库连接闪断的容忍度非常低。
为了解决这个问题,我们需要构造测试案例重现问题。再使用 tcpdump、wireshark 等工具分析网络协议包,定位问题。然后根据问题的类型,找到对应的配合团队,推动问题的解决。可以说非常耗时耗力,而且这类问题不在少数,不过也正是这些千奇百怪的问题让我掌握了更多 MySQL 相关的运维知识。
2016 年,大众创业,万众创新,我也加入了初创的袋鼠云。袋鼠云后来也成立了子公司云掣科技,专注于可观测运维,致力解决企业上云难、用云难、管云难三大问题。我也有机会将之前在阿里积累的数据库运维方面的经验,直接服务到客户。

如何学好 MySQL 运维?

在我的这段职业生涯中可以看到,去 IOE 战略之后,MySQL 一直是我工作中的重心,这也间接地反映了一直以来的行业大趋势。到现在为止,MySQL 仍然是最受企业和开发者欢迎的开源数据库,根据 2022 年 Slintel 网站的统计数据,MySQL 市场份额占比仍在 43.04%,2022 年中国开发者调查报告数据中也显示我国 73% 的开发者都在使用 MySQL。
可以说,MySQL 是世界上最流行的开源关系型数据库之一,在各个行业中的使用非常广泛。MySQL 和 InnoDB 高性能的事务实现、数据复制技术,能满足很多行业对于数据库性能和数据可靠性的要求。
虽然近几年在信创大潮的影响下,很多企业开始使用国产数据库了,但实际上国产数据库以及各大云厂商提供的 RDS 中,也有相当一部分是在开源 MySQL 的基础上演化而来的。只要你愿意,就可以通过阅读和调试 MySQL 源代码,从底层实现上,深入理解关系型数据库的实现原理。不同的关系型数据库,在理论支撑和底层实现上,很多方面都是相通的。从 MySQL 中学到的知识和方法,也能帮你更好地上手其他任何一款数据库。
所以如果你问我怎样快速上手数据库运维工作,那我可以很肯定地告诉你,学习 MySQL,学好 MySQL。我说的学好,并不仅仅是能够解决日常工作中的问题,而是像刚才说的要了解背后的原理,知其然并知其所以然。
比如我们在日常工作中常见的乱码问题,除了要知道乱码常见的五种情况,还要了解其中涉及的数据编解码原理,又比如内存溢出问题,背后涉及的原理就是流式处理与非流式处理的差异。所以我们课程中不仅会覆盖数据库运维工作中 90% 的常见问题和坑点,还会更进一步揭示问题产生的原因。
看上去我们是解决了很多单点问题,但实际上所有单点问题的解决最终都会帮助我们串起 MySQL 的学习网络,而底层原理就是帮助我们把单点问题连接起来的关键。后面你在工作遇到类似的问题,就可以快速地抓住本质,举一反三,摆平一大波问题。
为了让你更好地在实践中学习,我在课程中还设置了大量生产环境中的例子。比如我会提供一个真实的故障案例,带你学习排查 MySQL 和 Linux 问题,在学习优化器和执行计划的基础知识后,我会给你提供从真实系统中总结出来的 10 类 SQL 性能问题和解决方法。
而我们的课程也将基于最新的 MySQL 8.0 版本展开,我会手把手地教你应用 8.0 中的 Clone 插件、组复制等新技术,让你在不影响业务的前提下平滑升级 MySQL。还有课程中对 MySQL 内部实现的描述,都来自于我对 8.0.32 版本源码的大量阅读和跟踪调试,希望能够帮助你更好地理解和掌握 MySQL。

课程设计

为了达到这个目标,我把课程的内容分为四个章节。

第一章 基础运维篇

这一章我会讲解使用 MySQL 过程中你可能会遇到的最基本、最常见的一些问题。从 MySQL 安装部署开始,到基本的用户和权限管理、数据库参数配置、表结构设计、常见问题排查和解决,在实践中带你逐步入门 MySQL 运维。

第二章 SQL 优化篇

SQL 优化是数据库性能优化的核心内容,SQL 性能不佳,数据库配置再高也没用。所以这一部分我会带你从根本上了解影响 SQL 语句执行效率的因素,理解 MySQL 优化器的工作原理,并结合实际业务场景中 10 类真实案例,掌握 SQL 优化这一核心技能。

第三章 InnoDB 存储引擎篇

InnoDB 存储引擎是 MySQL 实现高可靠、高并发、高性能的核心组件。如果没有特殊情况,我们一律使用 InnoDB 表,这样做更加安全高效。课程的这一部分我们将聚焦 InnoDB 存储引擎的底层原理,从物理存储、内存结构、数据可靠性保障到 InnoDB 锁,让你做到知其然,并知其所以然。

第四章 高可用篇

数据库的可用性直接影响了整个业务系统的可用性,所以课程的最后一部分我会给你详细讲解实现 MySQL 数据库高可用的技术,包括数据复制技术、数据库备份和恢复、使用 ProxySQL 实现应用高可用数据库监控系统搭建等内容。学完这部分内容,你就能够构建起一套基本完善的数据库高可用解决方案了。

写在最后

最后,我想和你分享一下我这些年和各种数据库打交道的个人成长经验,希望这些好习惯能够陪伴你走完这一程的学习之路。
掌握一门数据库技术,首先需要多实践,从解决身边的问题开始。
多思考,多总结。将日常处理的问题都记录下来,问题的现象是什么,使用了哪些方法来解决。即使有的问题当时无法彻底理解或解决,也要记录下来,随着知识和经验的积累,将来某一天或许能理解这些问题。
数据库的官方文档、数据库理论知识、出版的各种数据库应用和运维方面的书籍,都可以拿来学习,养成从数据库官方文档中寻找答案的习惯。对于开源数据,代码本身也可以看作是文档的一部分。
当然,最重要的还是自己有主动学习的意愿,能坚持在相当长的一段时间内,持续学习。最后,我想把罗曼·罗兰的一句名言送给你。
人们常觉得准备的阶段是在浪费时间,只有当真正的机会来临,而自己没有能力把握的时候,才能觉悟到自己平时没有准备才是浪费了时间。
希望我们都能不负好时光!
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. MySQL是世界上最流行的开源关系型数据库之一,在各个行业中的使用非常广泛,因此学习MySQL运维对于数据库从业者至关重要。 2. 学习MySQL不仅仅是为了解决日常工作中的问题,更重要的是要了解背后的原理,知其然并知其所以然,这样才能更好地掌握数据库运维知识。 3. 课程设计包括基础运维篇、SQL优化篇、InnoDB存储引擎篇和高可用篇,涵盖了MySQL运维工作中的基本内容和核心技能。 4. 通过实践中的例子和最新的MySQL 8.0版本,课程将手把手地教授应用新技术,帮助学习者在实践中学习和应用知识。 5. 课程内容将覆盖数据库运维工作中90%的常见问题和坑点,并且会更进一步揭示问题产生的原因,帮助学习者快速抓住问题本质,举一反三。 6. 课程还将详细讲解实现MySQL数据库高可用的技术,包括数据复制技术、数据库备份和恢复、使用ProxySQL实现应用高可用、数据库监控系统搭建等内容。 7. 个人成长经验分享包括多实践、多思考、多总结,养成从数据库官方文档中寻找答案的习惯,以及自己有主动学习的意愿,能坚持在相当长的一段时间内,持续学习。 8. 学习MySQL不仅仅是为了解决日常工作中的问题,更重要的是要了解背后的原理,知其然并知其所以然,这样才能更好地掌握数据库运维知识。 9. 课程设计包括基础运维篇、SQL优化篇、InnoDB存储引擎篇和高可用篇,涵盖了MySQL运维工作中的基本内容和核心技能。 10. 通过实践中的例子和最新的MySQL 8.0版本,课程将手把手地教授应用新技术,帮助学习者在实践中学习和应用知识。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《MySQL 运维实战课 》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • ygj64
    请问老师文章开头说的数据库连接闪断具体是什么现象
    2024-08-19归属地:江苏
  • cheriston
    老师的干货多多,多多学习
    2024-08-19归属地:菲律宾
  • sun
    终于开课啦,学起来!
    2024-08-19归属地:浙江
  • 资深嵌入式点灯工程师
    开课了,期待老师后续的课程内容
    2024-08-19归属地:江苏
收起评论
大纲
固定大纲
如何学好 MySQL 运维?
课程设计
第一章 基础运维篇
第二章 SQL 优化篇
第三章 InnoDB 存储引擎篇
第四章 高可用篇
写在最后
显示
设置
留言
4
收藏
2
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)