前言
第1章 数据库介绍与分类 / 1
1.1 数据库介绍 / 1
1.2 数据库的种类 / 1
1.2.1 关系型数据库介绍 / 2
1.2.2 非关系型数据库介绍 / 3
1.3 常用关系型数据库产品介绍 / 6
1.3.1 Oracle数据库 / 6
1.3.2 MySQL数据库 / 6
1.3.3 MariaDB数据库 / 7
1.3.4 SQL Server数据库 / 7
1.3.5 Access数据库 / 7
1.3.6 PostgreSQL数据库 / 8
1.3.7 其他不常用的关系型数据库 / 8
1.4 常用非关系型数据库产品介绍 / 9
1.4.1 Memcached(key-value) / 9
1.4.2 redis(key-value) / 10
1.4.3 MongoDB(document-oriented) / 10
1.4.4 Cassandra(column-oriented) / 11
1.4.5 其他非关系型数据库 / 12
1.5 数据库相关知识 / 12
1.5.1 数据库发展历史大事记 / 12
1.5.2 数据库软件企业应用排名及发展趋势参考 / 12
1.6 本章重点 / 14
1.7 章节试题 / 14
第2章 MySQL数据库入门知识介绍 / 15
2.1 MySQL介绍 / 15
2.1.1 MySQL简介 / 15
2.1.2 MariaDB数据库的诞生背景介绍 / 15
2.1.3 为什么选择MySQL数据库 / 16
2.2 MySQL数据库分类与版本升级 / 16
2.2.1 MySQL数据库企业版与社区版的区别 / 16
2.2.2 MySQL数据库的四种发布版本介绍 / 17
2.3 MySQL数据库软件的命名介绍 / 18
2.4 MySQL产品路线 / 19
2.4.1 MySQL产品路线变更历史背景 / 19
2.4.2 MySQL-5.0.xx到MySQL-5.1.xx的产品线 / 19
2.4.3 MySQL-5.4.xx到MySQL-5.7.xx产品线 / 19
2.4.4 MySQL-Cluster-6.0.xx到MySQL-Cluster-7.5.xx产品线 / 20
2.5 生产场景中如何选择MySQL版本 / 20
2.5.1 MySQL数据库发布特性 / 20
2.5.2 企业生产场景选择MySQL数据库的建议 / 20
2.6 章节试题 / 21
第3章 MySQL数据库安装方法及安装实践 / 22
3.1 MySQL数据库的安装方法及选择 / 22
3.1.1 yum/rpm方式安装MySQL / 22
3.1.2 采用常规方式编译安装MySQL / 24
3.1.3 采用cmake方式编译安装MySQL / 25
3.1.4 采用二进制方式免编译安装MySQL / 25
3.1.5 如何正确选择MySQL的安装方式 / 25
3.2 安装并配置MySQL数据库 / 26
3.2.1 安装MySQL数据库 / 26
3.2.2 创建MySQL数据库配置文件并对数据库目录授权 / 30
3.2.3 初始化MySQL数据库文件 / 30
3.2.4 配置并启动MySQL数据库 / 34
3.2.5 将MySQL相关命令加入全局路径 / 36
3.2.6 登录MySQL测试 / 37
3.2.7 基本的MySQL安全配置 / 38
3.3 MySQL安装FAQ / 40
3.4 MySQL 5.6编译常见参数选项说明 / 41
3.5 章节试题 / 42
第4章 MySQL多实例数据库企业级应用实践 / 43
4.1 MySQL多实例介绍 / 43
4.1.1 什么是MySQL多实例 / 43
4.1.2 MySQL多实例的作用与问题 / 44
4.2 MySQL多实例的生产应用场景 / 45
4.2.1 资金紧张型公司的选择 / 45
4.2.2 并发访问不是特别大的业务 / 45
4.2.3 门户网站应用MySQL多实例场景 / 45
4.3 MySQL多实例常见的配置方案 / 46
4.3.1 单一配置文件、单一启动程序多实例部署方案 / 46
4.3.2 多配置文件、多启动程序部署方案 / 47
4.4 安装并配置多实例MySQL数据库 / 47
4.4.1 安装MySQL多实例 / 47
4.4.2 创建MySQL多实例的数据文件目录 / 49
4.4.3 创建MySQL多实例的配置文件 / 49
4.4.4 创建MySQL多实例的启动文件 / 51
4.4.5 配置MySQL多实例的文件权限 / 54
4.4.6 MySQL相关命令加入全局路径的配置 / 54
4.4.7 初始化MySQL多实例的数据库文件 / 55
4.4.8 启动MySQL多实例数据库 / 57
4.4.9 MySQL多实例数据库启动故障排错说明 / 58
4.5 配置及管理MySQL多实例数据库 / 59
4.6 参考资料 / 63
4.7 章节试题 / 63
第5章 MySQL常用管理基础知识实践 / 64
5.1 启动与关闭MySQL / 64
5.1.1 单实例MySQL启动与关闭知识 / 64
5.1.2 多实例MySQL启动与关闭方法示例 / 68
5.2 MySQL连接原理方法及提示符设置 / 69
5.2.1 客户端连接MySQL服务器原理结构 / 69
5.2.2 默认单实例MySQL登录方法 / 70
5.2.3 默认多实例MySQL登录方法 / 71
5.2.4 异地远程登录MySQL方法 / 71
5.2.5 MySQL连接提示符说明 / 72
5.2.6 退出MySQL数据库 / 73
5.3 查看MySQL命令帮助 / 73
5.4 设置及修改mysql root用户密码 / 78
5.4.1 MySQL数据库用户安全策略介绍 / 78
5.4.2 为管理员root用户设置及修改密码 / 79
5.5 找回MySQL root用户密码 / 80
5.5.1 找回MySQL单实例root用户密码的方法 / 80
5.5.2 找回MySQL多实例root用户的密码方法 / 82
5.6 章节试题 / 83
第6章 MySQL常用管理SQL语句应用实践 / 84
6.1 SQL介绍 / 84
6.1.1 什么是SQL / 84
6.1.2 SQL的分类 / 84
6.2 SQL解析原理流程 / 86
6.2.1 MySQL体系结构简介 / 86
6.2.2 SQL解析流程介绍 / 87
6.3 SQL语句实践 / 88
6.3.1 DDL语句之管理数据库 / 88
6.3.2 DDL&&DCL语句之管理用户 / 93
6.3.3 DDL语句之管理表 / 105
6.3.4 DML语句之管理表中的数据 / 116
6.4 参考资料 / 126
6.5 章节试题 / 127
第7章 MySQL数据库备份与恢复基础实践 / 128
7.1 MySQL数据库的备份与恢复 / 128
7.1.1 备份数据的意义 / 128
7.1.2 使用mysqldump进行数据库备份实践 / 128
7.1.3 mysqldump重要关键参数说明 / 140
7.1.4 生产场景下,不同引擎的mysqldump备份命令 / 141
7.1.5 利用SQL语句方式对表进行导入导出 / 141
7.2 恢复数据库实践 / 145
7.2.1 数据库恢复基本事项 / 145
7.2.2 利用source命令恢复数据库 / 145
7.2.3 利用mysql命令恢复(标准) / 147
7.2.4 利用mysql -e参数查看mysql数据 / 149
7.3 mysqlbinlog增量恢复工具 / 153
7.3.1 mysql的binlog日志是什么 / 153
7.3.2 mysql的binlog日志的作用 / 154
7.3.3 mysql的binlog日志功能如何开启 / 154
7.3.4 mysqlbinlog工具解析binlog日志实践 / 154
7.3.5 mysqlbinlog命令常用参数 / 156
7.4 本章重点 / 157
第8章 MySQL企业级备份应用知识与实践 / 158
8.1 数据库备份的最高层次思想 / 158
8.2 数据库管理员的两大工作核心 / 158
8.3 全量备份与增量备份 / 159
8.3.1 全量备份的概念 / 159
8.3.2 增量备份的概念 / 159
8.3.3 全量与增量如何结合备份 / 159
8.4 MySQL常用的备份方式 / 160
8.4.1 逻辑备份方式 / 160
8.4.2 物理备份方式 / 161
8.4.3 物理备份与逻辑备份的区别 / 162
8.5 逻辑备份的企业级应用实战 / 163
8.5.1 中小企业的MySQL备份实战 / 163
8.5.2 中小企业MySQL增量恢复案例实战 / 165
8.6 分库分表的生产备份策略 / 169
8.6.1 为什么要分库分表备份 / 169
8.6.2 如何进行分库备份 / 169
8.6.3 如何进行分表备份 / 170
8.7 MySQL生产常用备份架构方案 / 171
8.8 本章重点 / 171
第9章 MySQL物理备份工具Xtrabackup应用实践 / 172
9.1 Xtrabackup介绍 / 172
9.2 Xtrabackup备份涉及的数据库名词 / 172
9.3 Xtrabackup备份的工作原理流程 / 175
9.4 Xtrabackup工具安装 / 178
9.4.1 系统环境说明 / 178
9.4.2 安装Xtrabackup / 179
9.5 Xtrabackup应用实践 / 179
9.5.1 用于Xtrabackup数据备份的用户 / 179
9.5.2 用于恢复的MySQL配置文件 / 180
9.5.3 Xtrabackup软件附带的备份工具说明 / 181
9.5.4 Innobackupex工具语法介绍 / 181
9.5.5 全备与恢复全备实践 / 182
9.5.6 增量备份与恢复增量数据实践 / 185
9.5.7 中小企业MySQL Xtrabackup物理增量恢复案例实战 / 189
9.5.8 使用Xtrabackup物理分库分表备份 / 194
9.5.9 使用Xtrabackup物理分库分表备份的恢复 / 195
第10章 MySQL数据库日志知识与企业应用实践 / 197
10.1 MySQL常用日志文件知识 / 197
10.2 错误日志的介绍与配置 / 198
10.3 普通查询日志的介绍与配置 / 199
10.4 二进制日志的介绍与配置 / 200
10.5 慢查询日志 / 208
10.6 本章重点 / 213
10.7 参考资料 / 213
第11章 MySQL数据库字符集 / 214
11.1 MySQL数据库字符集知识 / 214
11.1.1 什么是字符集 / 214
11.1.2 MySQL数据库字符集 / 215
11.1.3 常用字符集介绍与选择建议 / 215
11.2 MySQL数据库字符集配置 / 217
11.3 如何防止数据库的中文显示乱码 / 221
11.4 如何更改MySQL数据库库表的字符集 / 223
11.4.1 更改库的字符集 / 223
11.4.2 更改表的字符集 / 223
11.4.3 生产环境更改数据库(含数据)字符集的方法 / 224
11.5 本章重点 / 224
第12章 MySQL数据库存储引擎知识 / 226
12.1 MySQL引擎概述 / 226
12.1.1 什么是存储引擎? / 226
12.1.2 MySQL存储引擎的架构 / 227
12.2 查看MySQL支持的存储引擎 / 228
12.3 MySQL 5.6支持的存储引擎 / 229
12.4 MySQL常用存储引擎特性对比 / 230
12.5 设置与更改MySQL的引擎 / 230
12.6 MyISAM引擎 / 232
12.6.1 什么是MyISAM引擎? / 232
12.6.2 MyISAM引擎的存储方式 / 232
12.6.3 MyISAM引擎的主要特点 / 233
12.6.4 MyISAM引擎适用的生产业务场景 / 233
12.7 InnoDB引擎 / 233
12.7.1 什么是InnoDB引擎? / 233
12.7.2 InnoDB引擎的存储方式 / 234
12.7.3 InnoDB引擎特点 / 235
12.7.4 InnoDB引擎适用的生产业务场景 / 236
12.7.5 InnoDB引擎相关参数介绍 / 236
12.7.6 InnoDB引擎调优的基本方法 / 237
12.8 Memory存储引擎 / 238
12.9 ARCHIVE存储引擎 / 238
12.10 NDB存储引擎 / 239
12.11 有关MySQL引擎常见的企业面试题 / 240
第13章 MySQL引擎之InnoDB / 241
13.1 InnoDB存储引擎介绍 / 241
13.2 InnoDB和ACID模型 / 242
13.3 InnoDB多版本控制MVCC / 243
13.4 InnoDB体系结构 / 245
13.4.1 缓存池(buffer pool) / 246
13.4.2 change pool缓存池 / 250
13.4.3 自适应哈希索引(AHI) / 251
13.4.4 doublewrite缓存 / 252
13.4.5 重做日志缓存(redo log buffer) / 253
13.4.6 重做日志(redo log) / 253
13.4.7 系统(共享)表空间 / 255
13.4.8 File-per-table独立表空间设置 / 257
13.4.9 undo日志 / 260
13.4.10 临时表空间 / 262
13.4.11 InnoDB后台线程 / 262
13.5 InnoDB其他相关配置 / 263
13.5.1 启动配置 / 263
13.5.2 指定配置文件位置 / 264
13.5.3 数据页配置 / 264
13.5.4 InnoDB只读设置 / 264
13.5.5 InnoDB优化器统计信息配置 / 265
13.5.6 索引页之间合并阈值 / 269
13.6 InnoDB普通表空间 / 269
13.7 InnoDB表 / 270
13.7.1 InnoDB表存储结构 / 270
13.7.2 创建InnoDB表 / 271
13.7.3 修改表的存储引擎 / 273
13.7.4 自增长字段设置 / 273
13.7.5 InnoDB表主要的限制 / 273
第14章 MySQL主从复制知识与应用实践 / 274
14.1 MySQL主从复制 / 274
14.1.1 MySQL主从复制介绍 / 274
14.1.2 MySQL主从复制企业级应用场景 / 276
14.1.3 MySQL主从读写分离实现方案 / 277
14.1.4 MySQL主从复制原理 / 279
14.1.5 MySQL主从复制原理及过程详细描述 / 280
14.2 MySQL主从复制实践 / 282
14.2.1 主从复制实践准备 / 282
14.2.2 在主库Master(51)上执行操作配置 / 283
14.2.3 在MySQL从库上执行的操作过程 / 287
14.2.4 启动从库同步开关并测试主从复制 / 290
14.2.5 MySQL主从复制问题汇总 / 292
14.2.6 MySQL主从复制配置步骤小结 / 293
14.2.7 MySQL主从复制线程状态说明及用途 / 293
14.2.8 生产场景中部署MySQL主从复制方案 / 296
14.3 MySQL主从复制在企业中的故障案例 / 297
14.4 本章重点 / 298
14.5 参考资料 / 298
第15章 MySQL主从复制高级方案与应用实践 / 299
15.1 MySQL集群企业级架构方案 / 299
15.2 MySQL企业级备份策略方案 / 301
15.3 MySQL主从复制生产场景的常见延迟原因及防范方案 / 302
15.4 MySQL主从复制数据一致性企业级方案 / 302
15.5 MySQL多线程复制解决复制延迟实践 / 304
15.6 让MySQL主从复制的从库只读访问 / 305
15.7 MySQL主从复制读写分离Web用户生产设置方案 / 306
15.8 MySQL主从延迟复制方案及恢复实践 / 308
15.9 本章重点 / 314
15.10 参考资料 / 314
第16章 MySQL复制高级方案应用实践 / 315
16.1 MySQL级联复制 / 315
16.1.1 MySQL级联复制介绍 / 315
16.1.2 MySQL级联复制实现要点 / 316
16.1.3 MySQL级联复制的应用场景 / 316
16.2 MySQL主主复制 / 316
16.2.1 MySQL主主复制介绍 / 317
16.2.2 MySQL主主复制能够解决的企业问题 / 317
16.2.3 MySQL主主复制的企业级实现方案 / 318
16.2.4 主主复制实践(自增ID)准备 / 319
16.2.5 在主库Master(51)上执行操作配置 / 319
16.2.6 在主库2Master(52)上执行操作配置 / 320
16.2.7 在主库1(51)上执行复制配置 / 322
16.2.8 在主库1和主库2进行测试 / 323
16.3 本章重点 / 324
16.4 MySQL双主复制my.cnf完整配置对比 / 325
第17章 MySQL半同步复制与GTID复制实践 / 326
17.1 MySQL复制的多种工作方式 / 326
17.1.1 异步复制介绍 / 326
17.1.2 全同步复制介绍 / 327
17.1.3 半同步复制 / 327
17.2 MySQL半同步复制原理及实践准备 / 327
17.2.1 MySQL半同步复制介绍 / 327
17.2.2 MySQL半同步复制原理 / 328
17.2.3 MySQL半同步复制准备 / 329
17.3 MySQL半同步复制应用实践 / 330
17.3.1 MySQL半同步复制插件介绍 / 330
17.3.2 MySQL主库(db01)半同步插件安装和配置 / 330
17.3.3 MySQL半同步复制参数介绍 / 332
17.3.4 MySQL从库(db02)半同步插件安装和配置 / 333
17.3.5 实践1:半同步复制是否配置成功测试 / 335
17.3.6 实践2:半同步复制超时等待测试 / 336
17.3.7 实践3:主从复制故障时的半同步复制测试 / 338
17.4 生产半同步复制建议及其他方案说明 / 340
17.5 MySQL GTID复制 / 340
17.5.1 GTID复制简介 / 340
17.5.2 基于GTID复制技术的优缺点及工作原理 / 341
17.5.3 GTID的优缺点 / 342
17.5.4 MySQL GTID复制的应用及实践 / 342
17.5.5 GTID如何跳过事务冲突 / 345
17.6 本章重点 / 347
第18章 MySQL集群高可用方案MHA应用实践 / 348
18.1 什么是MHA / 348
18.2 MHA的基本架构组成 / 348
18.3 MHA的工作原理 / 349
18.4 MHA工具包介绍 / 350
18.5 MHA解决方案的优点 / 351
18.6 MHA方案实战 / 351
18.6.1 搭建MHA的先决必要条件 / 351
18.6.2 MySQL节点规划 / 352
18.6.3 配置SSH密钥实现免密码登录 / 352
18.6.4 对所有的MySQL节点安装MHA Node软件 / 352
18.6.5 MHA管理节点安装 / 353
18.6.6 配置MHA管理节点 / 354
18.7 启动及测试MHA / 355
18.7.1 启动MHA前需要检测的要素说明 / 355
18.7.2 检测SSH免密码登录配置 / 356
18.7.3 检测MySQL集群主从复制状况 / 356
18.8 配置VIP漂移 / 356
18.8.1 虚拟IP管理的两种方式 / 356
18.8.2 配置脚本 / 357
第19章 MySQL读写分离Atlas工具实践 / 358
19.1 什么是Atlas / 358
19.2 Atlas的主要功能 / 358
19.3 Atlas与官方mysql- proxy的对比 / 359
19.4 安装Atlas / 359
19.5 Atlas配置文件 / 359
19.6 启动Atlas / 361
19.7 Atlas管理操作 / 361
第20章 云关系型数据库 / 363
20.1 阿里云RDS / 364
20.2 阿里云RDS for MySQL / 364
20.3 阿里云RDS云数据库的相关概念 / 364
20.3.1 地域 / 364
20.3.2 可用区 / 365
20.3.3 RDS实例 / 365
20.3.4 RDS for MySQL只读实例 / 365
20.3.5 RDS for MySQL克隆实例 / 365
20.3.6 RDS for MySQL灾备实例 / 366
20.3.7 RDS数据库 / 367
20.3.8 RDS数据库账号 / 367
20.3.9 RDS连接数 / 367
20.3.10 RDS磁盘容量 / 367
20.3.11 RDS for MySQL读写分离 / 367
20.3.12 RDS for MySQL三节点企业版 / 367
20.3.13 RDS for MySQL单机版 / 368
20.3.14 RDS for MySQL跨可用去迁移 / 368
20.4 阿里云RDS for MySQL数据库实战 / 368
20.4.1 RDS for MySQL创建实例 / 368
20.4.2 RDS for MySQL升级实例 / 373
20.4.3 RDS for MySQL查看基本信息 / 374
20.4.4 RDS for MySQL数据库管理 / 377
20.4.5 RDS for MySQL远程访问 / 383
20.4.6 RDS for MySQL备份与恢复 / 389
20.5 RDS for MySQL性能优化、报警管理及安全控制 / 400
20.5.1 RDS for MySQL资源监控 / 400
20.5.2 RDS for MySQL数据安全性 / 400
20.5.3 RDS for MySQL性能优化 / 403
20.6 RDS for MySQL日志管理 / 404
20.7 RDS for MySQL的只读实例和克隆 / 405
20.7.1 RDS for MySQL只读实例 / 405
20.7.2 RDS for MySQL只读实例功能特点 / 405
20.7.3 RDS for MySQL只读实例创建过程 / 405
20.7.4 RDS for MySQL创建只读实例 / 406
20.8 RDS for MySQL只读实例实现读写分离 / 408
20.9 RDS for MySQL克隆实例 / 409
20.10 RDS for MySQL克隆实例使用场景 / 409
20.10.1 克隆实例用于数据回溯 / 409
20.10.2 克隆实例用于准生产测试 / 409
20.11 RDS for MySQL重点回顾 / 410
· · · · · · (
收起)