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