跟老男孩学Linux运维:MySQL入门与提高实践
跟老男孩学Linux运维:MySQL入门与提高实践
1 数据库介绍与分类
1.1 数据库介绍
1.2 数据库的种类
1.2.1 关系型数据库介绍
1.2.2 非关系型数据库介绍
1.3 常用关系型数据库产品介绍
1.3.1 Oracle数据库
1.3.2 MySQL数据库
1.3.3 MariaDB数据库
1.3.4 SQL Server数据库
1.3.5 Access数据库
1.3.6 PostgreSQL数据库
1.3.7 其他不常用的关系型数据库
1.4 常用非关系型数据库产品介绍
1.4.1 Memcached(key-value)
1.4.2 redis(key-value)
1.4.3 MongoDB(document-oriented)
1.4.4 Cassandra(column-oriented)
1.4.5 其他非关系型数据库
1.5 数据库相关知识
1.5.1 数据库发展历史大事记
1.5.2 数据库软件企业应用排名及发展趋势参考
1.6 本章重点
1.7 章节试题
2 MySQL数据库入门知识介绍
2.1 MySQL介绍
2.1.1 MySQL简介
2.1.2 MariaDB数据库的诞生背景介绍
2.1.3 为什么选择MySQL数据库
2.2 MySQL数据库分类与版本升级
2.2.1 MySQL数据库企业版与社区版的区别
2.2.2 MySQL数据库的四种发布版本介绍
2.3 MySQL数据库软件的命名介绍
2.4 MySQL产品路线
2.4.1 MySQL产品路线变更历史背景
2.4.2 MySQL-5.0.xx到MySQL-5.1.xx的产品线
2.4.3 MySQL-5.4.xx到MySQL-5.7.xx产品线
2.4.4 MySQL-Cluster-6.0.xx到MySQL-Cluster-7.5.xx产品线
2.5 生产场景中如何选择MySQL版本
2.5.1 MySQL数据库发布特性
2.5.2 企业生产场景选择MySQL数据库的建议
2.6 章节试题
3 MySQL数据库安装方法及安装实践
3.1 MySQL数据库的安装方法及选择
3.1.1 yum/rpm方式安装MySQL
3.1.2 采用常规方式编译安装MySQL
3.1.3 采用cmake方式编译安装MySQL
3.1.4 采用二进制方式免编译安装MySQL
3.1.5 如何正确选择MySQL的安装方式
3.2 安装并配置MySQL数据库
3.2.1 安装MySQL数据库
3.2.2 创建MySQL数据库配置文件并对数据库目录授权
3.2.3 初始化MySQL数据库文件
3.2.4 配置并启动MySQL数据库
3.2.5 将MySQL相关命令加入全局路径
3.2.6 登录MySQL测试
3.2.7 基本的MySQL安全配置
3.3 MySQL安装FAQ
3.4 MySQL 5.6编译常见参数选项说明
3.5 章节试题
4 MySQL多实例数据库企业级应用实践
4.1 MySQL多实例介绍
4.1.1 什么是MySQL多实例
4.1.2 MySQL多实例的作用与问题
4.2 MySQL多实例的生产应用场景
4.2.1 资金紧张型公司的选择
4.2.2 并发访问不是特别大的业务
4.2.3 门户网站应用MySQL多实例场景
4.3 MySQL多实例常见的配置方案
4.3.1 单一配置文件、单一启动程序多实例部署方案
4.3.2 多配置文件、多启动程序部署方案
4.4 安装并配置多实例MySQL数据库
4.4.1 安装MySQL多实例
4.4.2 创建MySQL多实例的数据文件目录
4.4.3 创建MySQL多实例的配置文件
4.4.4 创建MySQL多实例的启动文件
4.4.5 配置MySQL多实例的文件权限
4.4.6 MySQL相关命令加入全局路径的配置
4.4.7 初始化MySQL多实例的数据库文件
4.4.8 启动MySQL多实例数据库
4.4.9 MySQL多实例数据库启动故障排错说明
4.5 配置及管理MySQL多实例数据库
4.6 参考资料
4.7 章节试题
5 MySQL常用管理基础知识实践
5.1 启动与关闭MySQL
5.1.1 单实例MySQL启动与关闭知识
5.1.2 多实例MySQL启动与关闭方法示例
5.2 MySQL连接原理方法及提示符设置
5.2.1 客户端连接MySQL服务器原理结构
5.2.2 默认单实例MySQL登录方法
5.2.3 默认多实例MySQL登录方法
5.2.4 异地远程登录MySQL方法
5.2.5 MySQL连接提示符说明
5.2.6 退出MySQL数据库
5.3 查看MySQL命令帮助
5.4 设置及修改mysql root用户密码
5.4.1 MySQL数据库用户安全策略介绍
5.4.2 为管理员root用户设置及修改密码
5.5 找回MySQL root用户密码
5.5.1 找回MySQL单实例root用户密码的方法
5.5.2 找回MySQL多实例root用户的密码方法
5.6 章节试题
6 MySQL常用管理SQL语句应用实践
6.1 SQL介绍
6.1.1 什么是SQL
6.1.2 SQL的分类
6.2 SQL解析原理流程
6.2.1 MySQL体系结构简介
6.2.2 SQL解析流程介绍
6.3 SQL语句实践
6.3.1 DDL语句之管理数据库
6.3.2 DDL&&DCL语句之管理用户
6.3.3 DDL语句之管理表
6.3.4 DML语句之管理表中的数据
6.4 参考资料
6.5 章节试题
7 MySQL数据库备份与恢复基础实践
7.1 MySQL数据库的备份与恢复
7.1.1 备份数据的意义
7.1.2 使用mysqldump进行数据库备份实践
7.1.3 mysqldump重要关键参数说明
7.1.4 生产场景下,不同引擎的mysqldump备份命令
7.1.5 利用SQL语句方式对表进行导入导出
7.2 恢复数据库实践
7.2.1 数据库恢复基本事项
7.2.2 利用source命令恢复数据库
7.2.3 利用mysql命令恢复(标准)
7.2.4 利用mysql-e参数查看mysql数据
7.3 mysqlbinlog增量恢复工具
7.3.1 mysql的binlog日志是什么
7.3.2 mysql的binlog日志的作用
7.3.3 mysql的binlog日志功能如何开启
7.3.4 mysqlbinlog工具解析binlog日志实践
7.3.5 mysqlbinlog命令常用参数
7.4 本章重点
8 MySQL企业级备份应用知识与实践
8.1 数据库备份的最高层次思想
8.2 数据库管理员的两大工作核心
8.3 全量备份与增量备份
8.3.1 全量备份的概念
8.3.2 增量备份的概念
8.3.3 全量与增量如何结合备份
8.4 MySQL常用的备份方式
8.4.1 逻辑备份方式
8.4.2 物理备份方式
8.4.3 物理备份与逻辑备份的区别
8.5 逻辑备份的企业级应用实战
8.5.1 中小企业的MySQL备份实战
8.5.2 中小企业MySQL增量恢复案例实战
8.6 分库分表的生产备份策略
8.6.1 为什么要分库分表备份
8.6.2 如何进行分库备份
8.6.3 如何进行分表备份
8.7 MySQL生产常用备份架构方案
8.8 本章重点
9 MySQL物理备份工具Xtrabackup应用实践
9.1 Xtrabackup介绍
9.2 Xtrabackup备份涉及的数据库名词
9.3 Xtrabackup备份的工作原理流程
9.4 Xtrabackup工具安装
9.4.1 系统环境说明
9.4.2 安装Xtrabackup
9.5 Xtrabackup应用实践
9.5.1 用于Xtrabackup数据备份的用户
9.5.2 用于恢复的MySQL配置文件
9.5.3 Xtrabackup软件附带的备份工具说明
9.5.4 Innobackupex工具语法介绍
9.5.5 全备与恢复全备实践
9.5.6 增量备份与恢复增量数据实践
9.5.7 中小企业MySQL Xtrabackup物理增量恢复案例实战
9.5.8 使用Xtrabackup物理分库分表备份
9.5.9 使用Xtrabackup物理分库分表备份的恢复
10 MySQL数据库日志知识与企业应用实践
10.1 MySQL常用日志文件知识
10.2 错误日志的介绍与配置
10.3 普通查询日志的介绍与配置
10.4 二进制日志的介绍与配置
10.5 慢查询日志
10.6 本章重点
10.7 参考资料
11 MySQL数据库字符集
11.1 MySQL数据库字符集知识
11.1.1 什么是字符集
11.1.2 MySQL数据库字符集
11.1.3 常用字符集介绍与选择建议
11.2 MySQL数据库字符集配置
11.3 如何防止数据库的中文显示乱码
11.4 如何更改MySQL数据库库表的字符集
11.4.1 更改库的字符集
11.4.2 更改表的字符集
11.4.3 生产环境更改数据库(含数据)字符集的方法
11.5 本章重点
12 MySQL数据库存储引擎知识
12.1 MySQL引擎概述
12.1.1 什么是存储引擎?
12.1.2 MySQL存储引擎的架构
12.2 查看MySQL支持的存储引擎
12.3 MySQL 5.6支持的存储引擎
12.4 MySQL常用存储引擎特性对比
12.5 设置与更改MySQL的引擎
12.6 MyISAM引擎
12.6.1 什么是MyISAM引擎?
12.6.2 MyISAM引擎的存储方式
12.6.3 MyISAM引擎的主要特点
12.6.4 MyISAM引擎适用的生产业务场景
12.7 InnoDB引擎
12.7.1 什么是InnoDB引擎?
12.7.2 InnoDB引擎的存储方式
12.7.3 InnoDB引擎特点
12.7.4 InnoDB引擎适用的生产业务场景
12.7.5 InnoDB引擎相关参数介绍
12.7.6 InnoDB引擎调优的基本方法
12.8 Memory存储引擎
12.9 ARCHIVE存储引擎
12.10 NDB存储引擎
12.11 有关MySQL引擎常见的企业面试题
13 MySQL引擎之InnoDB
13.1 InnoDB存储引擎介绍
13.2 InnoDB和ACID模型
13.3 InnoDB多版本控制MVCC
13.4 InnoDB体系结构
13.4.1 缓存池(buffer pool)
13.4.2 change pool缓存池
13.4.3 自适应哈希索引(AHI)
13.4.4 doublewrite缓存
13.4.5 重做日志缓存(redo log buffer)
13.4.6 重做日志(redo log)
13.4.7 系统(共享)表空间
13.4.8 File-per-table独立表空间设置
13.4.9 undo日志
13.4.10 临时表空间
13.4.11 InnoDB后台线程
13.5 InnoDB其他相关配置
13.5.1 启动配置
13.5.2 指定配置文件位置
13.5.3 数据页配置
13.5.4 InnoDB只读设置
13.5.5 InnoDB优化器统计信息配置
13.5.6 索引页之间合并阈值
13.6 InnoDB普通表空间
13.7 InnoDB表
13.7.1 InnoDB表存储结构
13.7.2 创建InnoDB表
13.7.3 修改表的存储引擎
13.7.4 自增长字段设置
13.7.5 InnoDB表主要的限制
14 MySQL主从复制知识与应用实践
14.1 MySQL主从复制
14.1.1 MySQL主从复制介绍
14.1.2 MySQL主从复制企业级应用场景
14.1.3 MySQL主从读写分离实现方案
14.1.4 MySQL主从复制原理
14.1.5 MySQL主从复制原理及过程详细描述
14.2 MySQL主从复制实践
14.2.1 主从复制实践准备
14.2.2 在主库Master(51)上执行操作配置
14.2.3 在MySQL从库上执行的操作过程
14.2.4 启动从库同步开关并测试主从复制
14.2.5 MySQL主从复制问题汇总
14.2.6 MySQL主从复制配置步骤小结
14.2.7 MySQL主从复制线程状态说明及用途
14.2.8 生产场景中部署MySQL主从复制方案
14.3 MySQL主从复制在企业中的故障案例
14.4 本章重点
14.5 参考资料
15 MySQL主从复制高级方案与应用实践
15.1 MySQL集群企业级架构方案
15.2 MySQL企业级备份策略方案
15.3 MySQL主从复制生产场景的常见延迟原因及防范方案
15.4 MySQL主从复制数据一致性企业级方案
15.5 MySQL多线程复制解决复制延迟实践
15.6 让MySQL主从复制的从库只读访问
15.7 MySQL主从复制读写分离Web用户生产设置方案
15.8 MySQL主从延迟复制方案及恢复实践
15.9 本章重点
15.10 参考资料
16 MySQL复制高级方案应用实践
16.1 MySQL级联复制
16.1.1 MySQL级联复制介绍
16.1.2 MySQL级联复制实现要点
16.1.3 MySQL级联复制的应用场景
16.2 MySQL主主复制
16.2.1 MySQL主主复制介绍
16.2.2 MySQL主主复制能够解决的企业问题
16.2.3 MySQL主主复制的企业级实现方案
16.2.4 主主复制实践(自增ID)准备
16.2.5 在主库Master(51)上执行操作配置
16.2.6 在主库2Master(52)上执行操作配置
16.2.7 在主库1(51)上执行复制配置
16.2.8 在主库1和主库2进行测试
16.3 本章重点
16.4 MySQL双主复制my.cnf完整配置对比
17 MySQL半同步复制与GTID复制实践
17.1 MySQL复制的多种工作方式
17.1.1 异步复制介绍
17.1.2 全同步复制介绍
17.1.3 半同步复制
17.2 MySQL半同步复制原理及实践准备
17.2.1 MySQL半同步复制介绍
17.2.2 MySQL半同步复制原理
17.2.3 MySQL半同步复制准备
17.3 MySQL半同步复制应用实践
17.3.1 MySQL半同步复制插件介绍
17.3.2 MySQL主库(db01)半同步插件安装和配置
17.3.3 MySQL半同步复制参数介绍
17.3.4 MySQL从库(db02)半同步插件安装和配置
17.3.5 实践1:半同步复制是否配置成功测试
17.3.6 实践2:半同步复制超时等待测试
17.3.7 实践3:主从复制故障时的半同步复制测试
17.4 生产半同步复制建议及其他方案说明
17.5 MySQL GTID复制
17.5.1 GTID复制简介
17.5.2 基于GTID复制技术的优缺点及工作原理
17.5.3 GTID的优缺点
17.5.4 MySQL GTID复制的应用及实践
17.5.5 GTID如何跳过事务冲突
17.6 本章重点
18 MySQL集群高可用方案MHA应用实践
18.1 什么是MHA
18.2 MHA的基本架构组成
18.3 MHA的工作原理
18.4 MHA工具包介绍
18.5 MHA解决方案的优点
18.6 MHA方案实战
18.6.1 搭建MHA的先决必要条件
18.6.2 MySQL节点规划
18.6.3 配置SSH密钥实现免密码登录
18.6.4 对所有的MySQL节点安装MHA Node软件
18.6.5 MHA管理节点安装
18.6.6 配置MHA管理节点
18.7 启动及测试MHA
18.7.1 启动MHA前需要检测的要素说明
18.7.2 检测SSH免密码登录配置
18.7.3 检测MySQL集群主从复制状况
18.8 配置VIP漂移
18.8.1 虚拟IP管理的两种方式
18.8.2 配置脚本
19 MySQL读写分离Atlas工具实践
19.1 什么是Atlas
19.2 Atlas的主要功能
19.3 Atlas与官方mysql-proxy的对比
19.4 安装Atlas
19.5 Atlas配置文件
19.6 启动Atlas
19.7 Atlas管理操作
20 云关系型数据库
20.1 阿里云RDS
20.2 阿里云RDS for MySQL
20.3 阿里云RDS云数据库的相关概念
20.3.1 地域
20.3.2 可用区
20.3.3 RDS实例
20.3.4 RDS for MySQL只读实例
20.3.5 RDS for MySQL克隆实例
20.3.6 RDS for MySQL灾备实例
20.3.7 RDS数据库
20.3.8 RDS数据库账号
20.3.9 RDS连接数
20.3.10 RDS磁盘容量
20.3.11 RDS for MySQL读写分离
20.3.12 RDS for MySQL三节点企业版
20.3.13 RDS for MySQL单机版
20.3.14 RDS for MySQL跨可用去迁移
20.4 阿里云RDS for MySQL数据库实战
20.4.1 RDS for MySQL创建实例
20.4.2 RDS for MySQL升级实例
20.4.3 RDS for MySQL查看基本信息
20.4.4 RDS for MySQL数据库管理
20.4.5 RDS for MySQL远程访问
20.4.6 RDS for MySQL备份与恢复
20.5 RDS for MySQL性能优化、报警管理及安全控制
20.5.1 RDS for MySQL资源监控
20.5.2 RDS for MySQL数据安全性
20.5.3 RDS for MySQL性能优化
20.6 RDS for MySQL日志管理
20.7 RDS for MySQL的只读实例和克隆
20.7.1 RDS for MySQL只读实例
20.7.2 RDS for MySQL只读实例功能特点
20.7.3 RDS for MySQL只读实例创建过程
20.7.4 RDS for MySQL创建只读实例
20.8 RDS for MySQL只读实例实现读写分离
20.9 RDS for MySQL克隆实例
20.10 RDS for MySQL克隆实例使用场景
20.10.1 克隆实例用于数据回溯
20.10.2 克隆实例用于准生产测试
20.11 RDS for MySQL重点回顾
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b3132e4b02bc3ad6a1521.png)
思维导图在线编辑链接: