MySQL 数据库架构 设计、优化培训大纲
初识 MySQL 及管理
? 要从事 MySQL DBA 工作就要系统的了解一下 MySQL 的历史,现
状及分支版本
? 通过和 Oracle, SQL Server 特性对比深入理解 MySQL 的适用 场景
? 了解 MySQL DBA 的工作职责及技能需求
? 全面认识实际中 MySQL DBA 的工作环境,为自已准备一个接 近于真实的环境
MySQL 生产环境布署 规范及建议
? 系统安装规范
? MySQL 安装规范
? 其它规范要点
初识 MySQL 存储引擎
? MySQL 常见存储引擎如: MyISAM, Merge,Memory, InnoDB,
TokuDB 的特点
? 对于 MyISAM, Memory, Innodb, Tokudb 的存储引擎的区别及 适用场景
认识 MySQL 复制
? MySQL 复制用处,复制的概念及原理实现,从整体上了解复制
? 部署复制的环境
? 复制中重要参数讲解
MySQL 复制运维
? 如何控制复制切换中数据一致性
? 如何对复制的进行监控
? 复制中故障处理怎么不丢数据
? 在线复制结构变更,A 复制到 B,C ,更改为 B 复制到 C,A, 变 更为 B->C->A 或是 B->A->C,复制结构任意切换的方法。从库严重故障,不停主库的情况下在线重建从库方法
? 主从数据一致性校验及修复方法
基于复制架构方案
? 如何利用复制提高平台的处理能力
MySQL 监控的意义
? 数据库是否可用,目处理能力状态的了解都需要借助于监控系
统
? 深入了解 MySQL 及操作系统的监控点及数据项
了解 MySQL 监控
? 如何能快速定位一个 MySQL 出现故障或是性能问题的原因,从
分析可能存在的原因,了解监控的使用
? 常见监控工作的介绍: vmstat, iostat ,sar, top, orzdba, percona-tools 中的一些工具
深入理解 MySQL 的一 些状态指标
? 学习 show [global] status 的一些状态输出,从这些指标来
了解 MySQL 的一些运行指标
? information_schema 库里表结构学习
开 源 监 控 工 具
zabbix 对数据库的 监控介绍
? 布署 zabbix 监控 MySQL
? 关建监控图及指标解读
? 自定义开发 MySQL 监控插件
MySQL 的索引类型
? MySQL 支持的索引类型
? 不同索引类型的作用及区别
从存储上研究索引
? 从存储结构上看索引分为二叉树、B 树、B+树索引、哈希索引
及相应的特点
? 不同的索引在优化中的作用
MyISAM 引擎介绍
? MySQL MyISAM 引擎介绍
? MyISAM 引擎使用会遇到问题及相应的处理办法
全面了解 Innodb 的
结构
? Innodb 介绍及发展历史
? 全面了解 Innodb 的处理过程及相应的概念,深入研究 Innodb在 DML 中的开销及处理机制
? 全面识别 Innodb 的结构及存储结构,深理解 Innodb 的索引聚 集表的处理特点,提高表结构设计优化认识
Innodb 关建配参数
据讲解
? 详细讲解 MySQL Innodb 的参数及意义
? 全面了解 Innodb 的不同隔级别下处理特点及对性能的影响
深入了解 Innodb
? Innodb 后台进程讲解,表空间文件介绍,日志切换过程讲解
? 进行 Innodb 监控
初识 MySQL 高可用
? 高可用和负载均衡的区别及意义
? 讲解 MySQL 高可用的意义及常见 MySQL 的高可用方法
常见 MySQL 高可用的
布署
? 双主+Keepalived 实现的架构布署及实现
? 基于 PXC 的高可用架构布署及实现
基于 proxy 的高可用
架构
? 官方 proxy, Altas 布署及使用介绍
? 业界其它方案介绍
从硬件上优化 MySQL
? 从 BIOS 配置中调整 CPU、内存相关设置,优化硬件性能
? 调整阵列卡配置,优化 IO 性能
? 其他硬件相关配置进行优化
从系统上优化 MySQL
? 根据 MySQL 特性,调整内核相关参数进行优化
? 选择适当的文件系统,以达到更高 IOPS
从 MySQL 配置上优化
? 关键参数调优
? MySQL 工作机制调整优化
schema 设计优化
? 根据业务特点优化 SCHEMA 设计
? 选择适当的表类型,字段类型
SQL 执行计划阅读
? SQL 执行计划阅访的方法及意义
? 阅读 SQL 执行计划中的注意事项
? 如何利用 SQL 执行计划的来进行 SQL 调优及附带案例
索引优化
? 如何有效利用索引提高整体性能
? 如何创建适当的索引提高 SQL 效率
SQL 执行计划详解
? 解读 EXPLAIN,找准优化入口
? 如何改变执行计划提高 SQL 效率
通过架构设计来优化
? 架构设计优化要点、经验
线上 SQL 分析
? 通过介绍 tcpdump 和利用慢日志对线上 SQL 采集收集,并通过
工具分析去了解线上业务 SQL 的分布
? 通过全面了解 SQL 的情况后,来指定读写分离及 Cache 实现
? 案例讲解 SQL 优化,深入理解 MySQL 的 SQL 优化
通过引入应用层优化
? 应用层优化要点、经验
MySQL 开发设计规范
? MySQL 开发规范要点 |