diff --git a/index.txt b/index.txt new file mode 100644 index 0000000000000000000000000000000000000000..39a4de7b36cea04b650a71d3f1a7a543168b2a12 --- /dev/null +++ b/index.txt @@ -0,0 +1,307 @@ +├── 第1篇 MySQL基础 +│   ├── Text +│   │   └── chapter1.html +│   ├── 第1章 数据库概述 +│   │   ├── 1.1 数据库的定义 +│   │   ├── 1.2 数据库的发展 +│   │   ├── 1.3 本章总结 +│   │   └── Text +│   ├── 第2章 数据库技术 +│   │   ├── 2.1 数据库系统 +│   │   ├── 2.2 SQL语言 +│   │   ├── 2.3 数据库访问技术 +│   │   ├── 2.4 本章总结 +│   │   └── Text +│   └── 第3章 MySQL数据库 +│   ├── 3.1 MySQL三大范式 +│   ├── 3.2 MySQL存储引擎 +│   ├── 3.3 本章总结 +│   └── Text +├── 第2篇 环境搭建 +│   ├── Text +│   │   └── chapter41.html +│   ├── 第4章 安装三大操作系统 +│   │   ├── 4.1 安装VMware虚拟机 +│   │   ├── 4.2 安装Windows操作系统 +│   │   ├── 4.3 安装Mac OS X操作系统 +│   │   ├── 4.4 安装CentOS操作系统 +│   │   ├── 4.5 本章总结 +│   │   └── Text +│   ├── 第5章 服务器基础配置 +│   │   ├── 5.1 配置CentOS 6.8服务器环境 +│   │   ├── 5.2 添加mysql用户身份 +│   │   ├── 5.3 本章总结 +│   │   └── Text +│   └── 第6章 搭建MySQL环境 +│   ├── 6.1 基于MSI文件安装Windows版本的MySQL +│   ├── 6.2 基于ZIP文件安装Windows版本的MySQL +│   ├── 6.3 基于DMG文件安装Mac OS X版本的MySQL +│   ├── 6.4 基于GZ文件安装Mac OS X版本的MySQL +│   ├── 6.5 基于RPM文件安装CentOS版本的MySQL +│   ├── 6.6 基于源码安装CentOS版本的MySQL +│   ├── 6.7 遇到的问题和解决方案 +│   ├── 6.8 本章总结 +│   └── Text +├── 第3篇 MySQL开发 +│   ├── Text +│   │   └── chapter109.html +│   ├── 第10章 MySQL运算符 +│   │   ├── 10.1 算术运算符 +│   │   ├── 10.2 比较运算符 +│   │   ├── 10.3 逻辑运算符 +│   │   ├── 10.4 位运算符 +│   │   ├── 10.5 运算符的优先级 +│   │   ├── 10.6 本章总结 +│   │   └── Text +│   ├── 第11章 MySQL函数 +│   │   ├── 11.1 MySQL函数简介 +│   │   ├── 11.10 JSON函数 +│   │   ├── 11.11 窗口函数 +│   │   ├── 11.12 MySQL的其他函数 +│   │   ├── 11.13 本章总结 +│   │   ├── 11.2 数学函数 +│   │   ├── 11.3 字符串函数 +│   │   ├── 11.4 日期和时间函数 +│   │   ├── 11.5 流程处理函数 +│   │   ├── 11.6 加密与解密函数 +│   │   ├── 11.7 聚合函数 +│   │   ├── 11.8 获取MySQL信息函数 +│   │   ├── 11.9 加锁与解锁函数 +│   │   └── Text +│   ├── 第12章 MySQL数据变更 +│   │   ├── 12.1 数据插入 +│   │   ├── 12.2 数据更新 +│   │   ├── 12.3 数据删除 +│   │   ├── 12.4 本章总结 +│   │   └── Text +│   ├── 第13章 MySQL数据查询 +│   │   ├── 13.1 数据准备 +│   │   ├── 13.10 本章总结 +│   │   ├── 13.2 SELECT查询语句 +│   │   ├── 13.3 WHERE条件语句 +│   │   ├── 13.4 数据聚合查询 +│   │   ├── 13.5 JOIN语句 +│   │   ├── 13.6 子查询语句 +│   │   ├── 13.7 UNION联合语句 +│   │   ├── 13.8 使用别名查询数据 +│   │   ├── 13.9 使用正则表达式查询数据 +│   │   └── Text +│   ├── 第14章 MySQL索引 +│   │   ├── 14.1 索引简介 +│   │   ├── 14.2 索引的使用场景 +│   │   ├── 14.3 创建数据表时创建索引 +│   │   ├── 14.4 为已有数据表添加索引 +│   │   ├── 14.5 删除索引 +│   │   ├── 14.6 隐藏索引 +│   │   ├── 14.7 降序索引 +│   │   ├── 14.8 函数索引 +│   │   ├── 14.9 本章总结 +│   │   └── Text +│   ├── 第15章 MySQL视图 +│   │   ├── 15.1 视图概述 +│   │   ├── 15.2 创建视图 +│   │   ├── 15.3 查看视图 +│   │   ├── 15.4 修改视图的结构 +│   │   ├── 15.5 更新视图的数据 +│   │   ├── 15.6 删除视图 +│   │   ├── 15.7 本章总结 +│   │   └── Text +│   ├── 第16章 存储过程和函数 +│   │   ├── 16.1 存储过程和函数简介 +│   │   ├── 16.10 定义条件和处理程序案例 +│   │   ├── 16.11 MySQL中游标的使用 +│   │   ├── 16.12 MySQL中游标的使用案例 +│   │   ├── 16.13 MySQL中控制流程的使用 +│   │   ├── 16.14 本章总结 +│   │   ├── 16.2 创建存储过程和函数 +│   │   ├── 16.3 查看存储过程和函数 +│   │   ├── 16.4 修改存储过程和函数 +│   │   ├── 16.5 调用存储过程和函数 +│   │   ├── 16.6 删除存储过程和函数 +│   │   ├── 16.7 MySQL中使用变量 +│   │   ├── 16.8 MySQL中使用变量案例 +│   │   ├── 16.9 定义条件和处理程序 +│   │   └── Text +│   ├── 第17章 MySQL触发器 +│   │   ├── 17.1 创建触发器 +│   │   ├── 17.2 查看触发器 +│   │   ├── 17.3 删除触发器 +│   │   ├── 17.4 本章小结 +│   │   └── Text +│   ├── 第18章 MySQL分区 +│   │   ├── 18.1 分区介绍 +│   │   ├── 18.2 RANGE分区 +│   │   ├── 18.3 LIST分区 +│   │   ├── 18.4 COLUMNS分区 +│   │   ├── 18.5 HASH分区 +│   │   ├── 18.6 KEY分区 +│   │   ├── 18.7 子分区 +│   │   ├── 18.8 分区中的NULL值处理 +│   │   ├── 18.9 本章总结 +│   │   └── Text +│   ├── 第19章 MySQL公用表表达式和生成列 +│   │   ├── 19.1 公用表表达式 +│   │   ├── 19.2 生成列 +│   │   ├── 19.3 本章总结 +│   │   └── Text +│   ├── 第7章 MySQL操作数据库 +│   │   ├── 7.1 创建数据库 +│   │   ├── 7.2 查看数据库 +│   │   ├── 7.3 修改数据库名称 +│   │   ├── 7.4 数据库编码 +│   │   ├── 7.5 删除数据库 +│   │   ├── 7.6 本章总结 +│   │   └── Text +│   ├── 第8章 MySQL操作数据表 +│   │   ├── 8.1 创建数据表 +│   │   ├── 8.2 查看数据表结构 +│   │   ├── 8.3 修改数据表 +│   │   ├── 8.4 删除数据表 +│   │   ├── 8.5 MySQL中的临时表 +│   │   ├── 8.6 本章总结 +│   │   └── Text +│   └── 第9章 MySQL数据类型 +│   ├── 9.1 数值类型 +│   ├── 9.2 日期和时间类型 +│   ├── 9.3 文本字符串类型 +│   ├── 9.4 二进制字符串类型 +│   ├── 9.5 本章总结 +│   └── Text +├── 第4篇 MySQL优化 +│   ├── Text +│   │   └── chapter577.html +│   ├── 第20章 MySQL查询优化 +│   │   ├── 20.1 SHOW STATUS语句解析 +│   │   ├── 20.2 EXPLAIN语句解析 +│   │   ├── 20.3 SHOW PROFILE语句解析 +│   │   ├── 20.4 pt-query-digest分析查询 +│   │   ├── 20.5 优化子查询 +│   │   ├── 20.6 本章总结 +│   │   └── Text +│   ├── 第21章 MySQL索引优化 +│   │   ├── 21.1 索引的类型 +│   │   ├── 21.2 使用索引的场景 +│   │   ├── 21.3 无法使用索引的场景 +│   │   ├── 21.4 使用索引提示 +│   │   ├── 21.5 使用生成列为JSON建立索引 +│   │   ├── 21.6 本章总结 +│   │   └── Text +│   ├── 第22章 SQL语句优化 +│   │   ├── 22.1 嵌套查询的优化 +│   │   ├── 22.2 OR条件语句的优化 +│   │   ├── 22.3 ORDER BY语句的优化 +│   │   ├── 22.4 GROUP BY语句的优化 +│   │   ├── 22.5 分页查询的优化 +│   │   ├── 22.6 插入数据的优化 +│   │   ├── 22.7 删除数据的优化 +│   │   ├── 22.8 本章总结 +│   │   └── Text +│   ├── 第23章 数据库优化 +│   │   ├── 23.1 优化数据类型 +│   │   ├── 23.2 删除重复索引和冗余索引 +│   │   ├── 23.3 反范式化设计 +│   │   ├── 23.4 增加中间表 +│   │   ├── 23.5 分析数据表 +│   │   ├── 23.6 检查数据表 +│   │   ├── 23.7 优化数据表 +│   │   ├── 23.8 拆分数据表 +│   │   ├── 23.9 本章总结 +│   │   └── Text +│   ├── 第24章 MySQL服务器优化 +│   │   ├── 24.1 MySQL服务器硬件的优化 +│   │   ├── 24.2 MySQL配置项的优化 +│   │   ├── 24.3 本章总结 +│   │   └── Text +│   ├── 第25章 应用程序优化 +│   │   ├── 25.1 复用数据库连接 +│   │   ├── 25.2 减少数据访问 +│   │   ├── 25.3 开启查询缓存 +│   │   ├── 25.4 使用外部缓存 +│   │   ├── 25.5 使用分布式MySQL架构 +│   │   ├── 25.6 本章总结 +│   │   └── Text +│   └── 第26章 MySQL的其他优化选项 +│   ├── 26.1 使用performance_schema数据库分析MySQL +│   ├── 26.2 使用sys数据库分析MySQL +│   ├── 26.3 MySQL 8.x中的资源组 +│   ├── 26.4 本章总结 +│   └── Text +├── 第5篇 MySQL运维 +│   ├── Text +│   │   └── chapter676.html +│   ├── 第27章 MySQL命令行工具 +│   │   ├── 27.1 查看MySQL命令 +│   │   ├── 27.10 本章总结 +│   │   ├── 27.2 mysql命令 +│   │   ├── 27.3 mysqladmin命令 +│   │   ├── 27.4 myisampack命令 +│   │   ├── 27.5 mysqlbinlog命令 +│   │   ├── 27.6 mysqlcheck命令 +│   │   ├── 27.7 mysqlshow命令 +│   │   ├── 27.8 mysqldump命令 +│   │   ├── 27.9 mysqlimport命令 +│   │   └── Text +│   ├── 第28章 MySQL日志 +│   │   ├── 28.1 查询日志 +│   │   ├── 28.2 慢查询日志 +│   │   ├── 28.3 错误日志 +│   │   ├── 28.4 二进制日志 +│   │   ├── 28.5 本章总结 +│   │   └── Text +│   ├── 第29章 数据备份与恢复 +│   │   ├── 29.1 基于mysqldump备份并恢复数据 +│   │   ├── 29.10 导入数据 +│   │   ├── 29.11 遇到的问题和解决方案 +│   │   ├── 29.12 本章总结 +│   │   ├── 29.2 基于mysqlpump备份并恢复数据 +│   │   ├── 29.3 基于mydumper备份并恢复数据 +│   │   ├── 29.4 基于mysqlhotcopy备份并恢复数据 +│   │   ├── 29.5 基于xtrabackup备份并恢复数据 +│   │   ├── 29.6 数据备份与恢复案例 +│   │   ├── 29.7 MySQL灾难恢复 +│   │   ├── 29.8 实现数据库的自动备份 +│   │   ├── 29.9 导出数据 +│   │   └── Text +│   └── 第30章 MySQL账户管理 +│   ├── 30.1 MySQL中的权限表 +│   ├── 30.10 MySQL 8.x版本中的账户管理 +│   ├── 30.11 本章总结 +│   ├── 30.2 创建普通用户 +│   ├── 30.3 为用户授权 +│   ├── 30.4 查看用户权限 +│   ├── 30.5 修改用户权限 +│   ├── 30.6 撤销用户权限 +│   ├── 30.7 修改用户密码 +│   ├── 30.8 删除用户 +│   ├── 30.9 限制用户使用资源 +│   └── Text +├── 第6篇 MySQL架构 +│   ├── Text +│   │   └── chapter793.html +│   ├── 第31章 MySQL复制 +│   │   ├── 31.1 搭建MySQL主从复制环境 +│   │   ├── 31.10 基于半同步模式搭建MySQL主从复制环境 +│   │   ├── 31.11 本章总结 +│   │   ├── 31.2 搭建MySQL主主复制环境 +│   │   ├── 31.3 添加MySQL从库 +│   │   ├── 31.4 切换主从复制到链式复制 +│   │   ├── 31.5 切换链式复制到主从复制 +│   │   ├── 31.6 搭建MySQL多源复制环境 +│   │   ├── 31.7 添加复制过滤器 +│   │   ├── 31.8 设置延迟复制 +│   │   ├── 31.9 基于GTID搭建MySQL主从复制环境 +│   │   └── Text +│   ├── 第32章 MySQL读写分离 +│   │   ├── 32.1 基于MySQL Proxy实现读写分离 +│   │   ├── 32.2 基于Atlas实现读写分离 +│   │   ├── 32.3 基于ProxySQL实现读写分离 +│   │   ├── 32.4 基于Amoeba实现读写分离 +│   │   ├── 32.5 基于Mycat实现读写分离 +│   │   ├── 32.6 本章总结 +│   │   └── Text +│   └── 第33章 MySQL HA高可用架构 +│   ├── 33.1 基于Keepalived搭建MySQL高可用环境 +│   ├── 33.2 基于HAProxy搭建Mycat高可用环境 +│   ├── 33.3 基于Keepalived搭建HAProxy高可用环境 +│   ├── 33.4 本章总结 +│   └── Text