Mysql数据库架构、设计与优化培训

课程介绍:

    MySQL是目前最为活跃热门的开源数据库,以 LAMP /LNMP 为代表的组合方案在互联网企业中被广泛采用而大放异彩,这个趋势也已经逐渐向部分传统领域扩散了。在去IOE的大背景下,MySQL更是被寄予了厚望。
    MySQL以其开源开放为基础,凭借着运行程序体积小、运行速度快、嵌入式插件引擎架构设计而著称,MySQL的学习成本低、总体性价比高,伴随着互联网的发展也获得了高速发展,成为最为知名的开源软件之一 。

课程目标:

   1、深入理解MySQL数据库的原理;
   2、从硬件、系统、MySQL参数、执行计划、SQL优化等多角度学习MySQL的性能调优技术;
   3、掌握基于MySQL的架构设计方案;

课程特色:

   1. 教程结合客户需求定制,由浅入深,循循渐进。
   2. 来自行业资深DBA真实工作经验及案例,贯穿课程,帮助深入理解知识应用。
   3. 授课讲师具备深厚的技术基础以及行业背景。

课程对象:

    负责MySQL服务器日常维护的数据库管理员
    数据库开发设计或与MySQL数据库相关的开发人员
    其系统与MySQL服务器相关或与MySQL管理员合作的系统管理员。

课程时长:3天

课程方式:

传统的面对面授课方式。

 

课程大纲:

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