课程简介
MySQL是一个关系型数据库管理系统,具有运行速度快、使用成本低、安装容易、可移植性强、适用更多用户的特点,是最流行的关系型数据库管理系统之一。
本次课程将以数据库理论知识为基础,以数据库实践操作为载体,辅以企业实践数据的应用案例,让学员全面系统的掌握数据库MySQL的体系架构与日常管理维护,具备在企业实际生产环境中使用MySQL进行数据库设计,并实施运维工作和优化的能力。
课程收益
1、帮助学员了解数据库MySQL的体系架构;
2、帮助学员掌握在企业生产环境中实施安装部署MySQL的能力;
3、帮助学员掌握数据库MySQL的数据库设计能力;
4、帮助学员掌握数据库的日常运维管理能力
受众人群
数据库研发人员,数据库架构师,数据库运维人员
课程周期
4天(24H)
课程大纲
标题 | 授课内容 |
一、MySQL数据库基础 | 1. MySQL数据库简介与分支版本 (1) MySQL数据库及其功能特性 (2) MySQL数据库的分支版本 2. MySQL的体系架构 (1) MySQL Server层 (2) MySQL的存储引擎 ① MyISAM存储引擎 ② Memory存储引擎 ③ InnoDB存储引擎 3. 【实战】安装MySQL数据库 (1) 安装前的检查 (2) 安装MySQL与数据库的初始化 (3) 启动与关闭MySQL数据库 (4) MySQL的连接方式与基本操作 ① 本地连接 ② 远程连接 ③ 安全连接 ④ MySQL的基本操作 4. 【实战】运行MySQL多实例环境 |
二、深入MySQL InnoDB存储引擎 | 1. 数据库与实例 2. InnoDB的存储结构 (1) 逻辑存储结构 ① 表空间 ② 段 ③ 区 ④ 页 ⑤ 行 (2) 物理存储结构 ① 【实战】参数文件 ② 【实战】错误日志 ③ 【实战】二进制日志文件 ④ 【实战】慢查询日志 ⑤ 【实战】全量日志 ⑥ 【实战】审计日志 ⑦ 【实战】中继日志 ⑧ Pid文件 ⑨ Socket文件 ⑩ 表结构文件 3. InnoDB的内存结构 (1) SGA与PGA (2) Buffer缓冲区的状态 (3) 内存的刷新机制 4. InnoDB的线程结构 (1) 主线程结构 (2) I/O线程结构 (3) 其他线程结构 |
三、MySQL 的用户管理与访问控制 | 1. MySQL的用户管理 (1) 用户账号管理的重要性 (2) 【实战】管理MySQL的用户 ① 创建MySQL用户账号 ② 重命名MySQL用户账号 ③ 用户账号的锁定与解锁 ④ 删除MySQL用户账号 ⑤ 查看用户账号的权限 (3) 【实战】管理用户的密码 ① 创建用户的密码 ② 丢失了root用户密码 ③ 密码加密插件 ④ 用户密码的复杂度设置 ⑤ 用户密码的过期设置 2. MySQL的权限管理 (1) MySQL的权限系统 ① 系统的授权表及其作用 ② 用户的权限及作用域 (2) 【实战】权限的授予与撤销 ① 使用SHOW GRANTS语句显示用户的授权 ② 使用GRANT语句给用户授权 ③ 直接修改授权表给用户授权 ④ 使用REVOKE语句撤销授权 ⑤ 直接修改授权表撤销授权 (3) MySQL权限的生效机制 3. MySQL的访问控制 |
四、管理MySQL 的数据库对象
| 1. 创建与管理表 (1) MySQL的表与数据类型 (2) 【实战】MySQL表的基本操作 (3) 【实战】使用约束条件保证数据的完整性 (4) 表中的碎片 (5) 表的统计信息 (6) 【使用】MySQL的临时表 2. 在查询时使用索引 (1) 索引的基本知识 (2) 索引的类型 ① 普通索引 ② 唯一索引 ③ 主键索引 ④ 组合索引 ⑤ 全文索引 ⑥ 哈希索引 (3) 索引的优化 ① 【实战】使用ICP方式优化索引 ② 【实战】使用MRR方式优化索引 ③ 【实战】使用BKA方式优化索引 3. 使用视图简化查询语句 (1) 什么是视图? (2) 【实战】视图的基本操作 (3) 在MySQL中实现物化视图 4. 使用存储过程与存储函数 (1) 什么是存储过程与存储函数? (2) 【实战】创建和使用存储过程与存储函数 (3) 存储过程与存储函数的参数 5. MySQL的事件 (1) 什么是事件? (2) 【实战】事件的基本操作 ① 创建事件 ② 查看事件 ③ 启用和禁用 ④ 删除事件 (3) 【实战】使用MySQL的事件同步数据 |
五、事务与锁
| 1. MySQL的事务 (1) MySQL的事务 (2) 事务控制语句 (3) truncate和delete (4) 【实战】MySQL的事务隔离级别 2. MySQL的锁机制 (1) InnoDB的锁类型 (2) 【实战】锁的等待和死锁 (3) 【实战】监控MySQL的锁 |
六、MySQL备份与恢复基础
| 1. MySQL的备份方式 2. 【实战】冷备份与恢复 3. 热备份与恢复 (1) 【实战】使用mysqldump进行热备份与恢复 (2) 【实战】使用select ... into outfile进行热备份与恢复 (3) 【实战】使用mydumper进行热备份与恢复 (4) 【实战】使用裸文件备份XtraBackup |
七、MySQL备份与恢复进阶
| 1. 【实战】使用XtraBackup流式备份 2. 【实战】使用可传输的表空间实现数据的迁移 3. 【实战】使用MySQL的闪回技术恢复数据 4. 【实战】使用MySQL的binlog Server实现备份 |
八、MySQL的主从复制与主主复制
| 1. 什么是MySQL的主从复制? 2. 主从复制的原理 3. 【实战】搭建MySQL主从复制环境 4. MySQL主从复制的管理 (1) 【实战】主从复制中的用户管理 (2) 【实战】主从复制的日常维护 5. MySQL的主主复制 (1) 主主复制的基本原理 (2) 【实战】搭建MySQL主主复制环境 |
九、MySQL的高可用架构
| 1. 主从复制架构的单点故障问题 2. MySQL的高可用架构解决方案 (1) 基于KeepAlived的MySQL高可用架构 (2) 基于MySQL MHA的高可用架构 (3) 基于ZooKeeper的MySQL高可用架构 (4) 基于PXC的MySQL高可用架构 (5) 基于MGR的MySQL高可用架构 3. 【实战】部署基于KeepAlived的MySQL高可用架构 4. 【实战】部署基于MySQL MHA的高可用架构 5. 【实战】部署基于ZooKeeper的MySQL高可用架构 6. 【实战】部署基于PXC的MySQL高可用架构 7. 【实战】部署基于MGR的MySQL高可用架构 |
十、MySQL的性能优化与运维管理
| 1. MySQL优化概述与优化方案 2. MySQL的基准测试 (1) MySQL的基准测试与sysbench介绍 (2) 【实战】安装部署sysbench (3) 【实战】使用sysbench进行测试 (4) 【实战】sysench自定义脚本进行测试 3. MySQL的查询性能分析 (1) 【实战】使用Explain查看SQL的执行计划 (2) 【实战】使用Profiles查看SQL的资源消费 (3) 【实战】使用SQLAdvisor的建议指导 4. MySQL的运维管理 (1) 【实战】使用MySQL Utilities工具箱 (2) 【实战】使用Percona Toolkit工具箱 (3) 【实战】表的维护与修复工具 |
十一、MySQL数据库的监控
| 1. 监控MySQL数据库的意义 2. MySQL数据库的监控指标 3. 使用Lepus监控MySQL数据库 (1) Lepus简介 (2) 【实战】部署Lepus环境 (3) 【实战】使用Lepus监控MySQL服务器 (4) 【实战】使用Lepus分析慢查询语句 4. MySQL数据库的其他监控工具 (1) 【实战】使用MONyog监控MySQL (2) 【实战】使用mysql-monitor监控MySQL (3) 【实战】使用Zabbix监控MySQL (4) 【实战】使用Spotlight on mysql监控MySQL |
十二、使用MySQL数据库的中间件
| 1. 什么是MySQL数据库的中间件? 2. 使用Mycat中间件 (1) Mycat简介与核心概念 (2) 【实战】安装部署Mycat (3) 【实战】使用Mycat实现读写分离 (4) 【实战】使用Mycat实现分库分表 3. 使用ProxySQL中间件 (1) ProxySQL简介 (2) ProxySQL的体系架构 (3) 【实战】使用ProxySQL实现读写分离 |
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员
John Zhao
百林哲咨询(北京)有限公司专家团队成员