万本电子书0元读

万本电子书0元读

顶部广告

MySQL技术大全:开发、优化与运维实战(视频教学版)电子书

大型互联网公司资深架构师全面、系统、深地分享MySQL技术 涵盖MySQL基础、发、优化、运维与架构的方方面面知识 阿里巴巴、蚂蚁金服及Dromara等知名公司与机构的5位技术专家力荐 视频教学:提供近15小时(共84段)配套教学视频,帮助读者提高学习效率。 内容全面:涵盖MySQL从基础、发、优化,到运维和架构等方方面面的知识。 讲解深:从MySQL数据库的基础操作,到优化、运维与架构,层层深。

售       价:¥

纸质售价:¥149.20购买纸书

125人正在读 | 1人评论 6.2

作       者:冰河

出  版  社:机械工业出版社

出版时间:2020-11-01

字       数:78.2万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
《MySQL技术大全:发、优化与运维实战(视频教学版)》结合大量示例和实战案例,全面、系统、深地介绍了MySQL数据库技术,重阐述了MySQL发、优化和运维过程中的各个技术。《MySQL技术大全:发、优化与运维实战(视频教学版)》对学习MySQL技术有较高的参考价值,尤其是环境搭建、优化、维护和架构等内容可直用于实际工作中。 《MySQL技术大全:发、优化与运维实战(视频教学版)》共33章,分为6篇。第1篇“MySQL基础”,介绍数据库的定义、发展,以及数据库技术和MySQL数据库的三大范式与存储引擎。第2篇“环境搭建”,介绍VMware虚拟机以及Windows、Mac OS X和CentOS操作系统的安装,并介绍如何在三大操作系统上安装和配置MySQL。第3篇“MySQL发”,介绍MySQL中的数据库操作、数据表操作、数据类型、运算符、函数、数据变更、数据查询、索引、视图、存储过程、触发器、分区、公用表表达式和生成列等。第4篇“MySQL优化”,介绍MySQL中的查询优化、索引优化、SQL语句优化、数据库优化、服务器优化、应用程序优化及其他优化技术。第5篇“MySQL运维”,介绍MySQL中各种命令行工具的使用,以及各种日志的启、查看、删除与关闭,并介绍数据的备份与恢复及MySQL中的账户管理。第6篇“MySQL架构”,介绍MySQL中的复制、读写分离环境搭建,以及如何实现MySQL的高可用架构等。 《MySQL技术大全:发、优化与运维实战(视频教学版)》适合想全面学习MySQL的数据库管理人员、发人员、运维工程师和架构师阅读,也适合各大院校的学生及相关培训机构的学员阅读。另外,《MySQL技术大全:发、优化与运维实战(视频教学版)》还非常适合作为一本案头手册供相关技术人员随查随用。<br/>【推荐语】<br/>大型互联网公司资深架构师全面、系统、深地分享MySQL技术 涵盖MySQL基础、发、优化、运维与架构的方方面面知识 阿里巴巴、蚂蚁金服及Dromara等知名公司与机构的5位技术专家力荐 视频教学:提供近15小时(共84段)配套教学视频,帮助读者提高学习效率。 内容全面:涵盖MySQL从基础、发、优化,到运维和架构等方方面面的知识。 讲解深:从MySQL数据库的基础操作,到优化、运维与架构,层层深。 实用性强:结合大量经典示例和实战案例展讲解,带领读者动手实践。<br/>【作者】<br/>冰河  大数据架构师,编程专家,Mykit系列源框架作者,基于终消息可靠性的源分布式事务框架mykit-transaction-message的作者。长期致力于分布式系统架构、微服务架构、分布式数据库、分布式事务与大数据技术的研究,并主导过众多相关项目的架构设计、研发和实施落地。在高并发、高可用、高可扩展、高可维护和大数据等技术领域有丰富的实战经验。对Hadoop、Storm、Spark和Flink等大数据框架的源码做过深度分析。目前致力于云原生技术的研究。运营“冰河技术”公众号,著有《海量数据处理与大数据技术实战》。<br/>
目录展开

前言

第1篇 MySQL基础

第1章 数据库概述

1.1 数据库的定义

1.1.1 数据库

1.1.2 数据库管理系统

1.1.3 数据表

1.1.4 数据类型

1.1.5 运算符

1.1.6 函数

1.1.7 主键

1.1.8 外键

1.1.9 索引

1.1.10 视图

1.1.11 存储过程

1.1.12 触发器

1.1.13 存储引擎

1.2 数据库的发展

1.2.1 人工管理阶段

1.2.2 文件系统阶段

1.2.3 数据库系统阶段

1.2.4 云数据库阶段

1.3 本章总结

第2章 数据库技术

2.1 数据库系统

2.2 SQL语言

2.2.1 SQL语言分类

2.2.2 ER图

2.2.3 SQL执行流程

2.3 数据库访问技术

2.4 本章总结

第3章 MySQL数据库

3.1 MySQL三大范式

3.1.1 第一范式

3.1.2 第二范式

3.1.3 第三范式

3.1.4 反范式化

3.2 MySQL存储引擎

3.2.1 查看MySQL中的存储引擎

3.2.2 常用存储引擎介绍

3.3 本章总结

第2篇 环境搭建

第4章 安装三大操作系统

4.1 安装VMware虚拟机

4.1.1 下载VMware虚拟机

4.1.2 安装VMware虚拟机步骤

4.2 安装Windows操作系统

4.2.1 下载Windows操作系统

4.2.2 设置VMware虚拟机

4.2.3 安装Windows操作系统步骤

4.3 安装Mac OS X操作系统

4.3.1 设置VMware虚拟机

4.3.2 安装Mac OS X操作系统步骤

4.4 安装CentOS操作系统

4.4.1 下载CentOS操作系统

4.4.2 设置VMware虚拟机

4.4.3 安装CentOS操作系统步骤

4.5 本章总结

第5章 服务器基础配置

5.1 配置CentOS 6.8服务器环境

5.1.1 修改主机名

5.1.2 配置静态IP地址

5.1.3 配置主机名和IP地址的映射关系

5.1.4 配置防火墙规则

5.1.5 配置root用户SSH免密码登录

5.2 添加mysql用户身份

5.2.1 添加mysql用户组和用户

5.2.2 赋予mysql用户目录权限

5.2.3 赋予mysql用户sudo权限

5.2.4 赋予mysql用户登录密码

5.2.5 配置mysql用户SSH免密码登录

5.3 本章总结

第6章 搭建MySQL环境

6.1 基于MSI文件安装Windows版本的MySQL

6.1.1 下载MySQL的MSI安装包

6.1.2 基于MSI文件安装MySQL

6.1.3 配置MySQL系统环境变量

6.1.4 测试MySQL

6.2 基于ZIP文件安装Windows版本的MySQL

6.2.1 下载MySQL的ZIP安装包

6.2.2 基于ZIP文件安装MySQL

6.2.3 配置MySQL系统环境变量

6.2.4 测试MySQL

6.3 基于DMG文件安装Mac OS X版本的MySQL

6.3.1 下载MySQL的DMG安装包

6.3.2 基于DMG文件安装MySQL

6.3.3 配置MySQL系统环境变量

6.3.4 测试MySQL

6.4 基于GZ文件安装Mac OS X版本的MySQL

6.4.1 下载MySQL的GZ安装包

6.4.2 基于GZ文件安装MySQL

6.4.3 配置MySQL系统环境变量

6.4.4 测试MySQL

6.5 基于RPM文件安装CentOS版本的MySQL

6.5.1 删除CentOS 6.8服务器自带的MySQL

6.5.2 下载MySQL的RPM安装包

6.5.3 基于RPM文件安装MySQL

6.5.4 测试MySQL

6.6 基于源码安装CentOS版本的MySQL

6.6.1 环境准备

6.6.2 下载软件包

6.6.3 升级gcc和cmake

6.6.4 编译安装MySQL源码

6.6.5 配置MySQL

6.6.6 初始化并启动MySQL服务

6.6.7 测试MySQL

6.6.8 编译安装MySQL的boost源码

6.7 遇到的问题和解决方案

6.8 本章总结

第3篇 MySQL开发

第7章 MySQL操作数据库

7.1 创建数据库

7.1.1 使用CREATE DATABASE语句创建数据库

7.1.2 使用CREATE DATABASE IF NOT EXISTS语句创建数据库

7.2 查看数据库

7.2.1 查看MySQL中存在的数据库

7.2.2 查看MySQL命令行所在的数据库

7.2.3 查看数据库的创建信息

7.3 修改数据库名称

7.3.1 通过重命名数据表修改数据库名称

7.3.2 通过导入/导出数据修改数据库名称

7.3.3 通过创建数据表修改数据库名称

7.4 数据库编码

7.4.1 创建数据库时指定字符编码

7.4.2 修改数据库的字符编码

7.5 删除数据库

7.6 本章总结

第8章 MySQL操作数据表

8.1 创建数据表

8.1.1 创建空数据表

8.1.2 创建数据表时指定主键

8.1.3 创建数据表时指定外键

8.1.4 创建数据表时指定字段非空

8.1.5 创建数据表时指定默认值

8.1.6 创建数据表时指定主键默认递增

8.1.7 创建数据表时指定存储引擎

8.1.8 创建数据表时指定编码

8.2 查看数据表结构

8.2.1 使用DESCRIBE/DESC语句查看表结构

8.2.2 使用SHOW CREATE TABLE语句查看表结构

8.3 修改数据表

8.3.1 修改数据表名称

8.3.2 添加字段

8.3.3 添加字段时指定位置

8.3.4 修改字段名称

8.3.5 修改字段的数据类型

8.3.6 修改字段的位置

8.3.7 删除字段

8.3.8 修改已有表的存储引擎

8.3.9 取消数据表的外键约束

8.4 删除数据表

8.4.1 删除没有关联关系的数据表

8.4.2 删除有外键约束的主表

8.5 MySQL中的临时表

8.5.1 创建临时表

8.5.2 删除临时表

8.6 本章总结

第9章 MySQL数据类型

9.1 数值类型

9.1.1 整数类型

9.1.2 浮点数类型

9.1.3 定点数类型

9.2 日期和时间类型

9.2.1 YEAR类型

9.2.2 TIME类型

9.2.3 DATE类型

9.2.4 DATETIME类型

9.2.5 TIMESTAMP类型

9.3 文本字符串类型

9.3.1 文本字符串类型概述

9.3.2 CHAR与VARCHAR类型

9.3.3 TEXT类型

9.3.4 ENUM类型

9.3.5 SET类型

9.3.6 JSON类型

9.4 二进制字符串类型

9.4.1 二进制字符串类型概述

9.4.2 BIT类型

9.4.3 BINARY与VARBINARY类型

9.4.4 BLOB类型

9.5 本章总结

第10章 MySQL运算符

10.1 算术运算符

10.1.1 MySQL支持的算术运算符

10.1.2 算术运算符简单示例

10.2 比较运算符

10.2.1 MySQL支持的比较运算符

10.2.2 比较运算符简单示例

10.3 逻辑运算符

10.3.1 MySQL支持的逻辑运算符

10.3.2 逻辑运算符简单示例

10.4 位运算符

10.4.1 MySQL支持的位运算符

10.4.2 位运算符简单示例

10.5 运算符的优先级

10.6 本章总结

第11章 MySQL函数

11.1 MySQL函数简介

11.2 数学函数

11.2.1 绝对值函数

11.2.2 圆周率函数

11.2.3 获取整数的函数

11.2.4 返回列表中的最大值与最小值函数

11.2.5 角度与弧度互换函数

11.2.6 三角函数

11.2.7 乘方与开方函数

11.2.8 对数函数

11.2.9 随机函数

11.2.10 四舍五入与数字截取函数

11.2.11 符号函数

11.2.12 数学运算函数

11.3 字符串函数

11.3.1 ASCII(S)函数

11.3.2 CHAR_LENGTH(S)函数

11.3.3 LENGTH(S)函数

11.3.4 CONCAT(S1,S2,…,Sn)函数

11.3.5 CONCAT_WS(X,S1,S2,…,Sn)函数

11.3.6 INSERT(oldstr,x,y,replacestr)函数

11.3.7 LOWER(S)函数

11.3.8 UPPER(S)函数

11.3.9 LEFT(str,x)函数

11.3.10 RIGHT(str,x)函数

11.3.11 LPAD(str,n pstr)函数

11.3.12 RPAD(str,n,pstr)函数

11.3.13 LTRIM(S)函数

11.3.14 RTRIM(S)函数

11.3.15 TRIM(S)函数

11.3.16 TRIM(substr FROM str)函数

11.3.17 REPEAT(str,x)函数

11.3.18 REPLACE(S,A,B)函数

11.3.19 STRCMP(S1,S2)函数

11.3.20 SUBSTR(S,X,Y)函数

11.3.21 MID(S,X,Y)函数

11.3.22 SPACE(X)函数

11.3.23 LOCATE(substr,str)函数

11.3.24 ELT(M,S1,S2,…,Sn)函数

11.3.25 FIELD(S,S1,S2,…,Sn)函数

11.3.26 FIND_IN_SET(S1,S2)函数

11.3.27 REVERSE(S)函数

11.3.28 NULLIF(value1,value2)函数

11.4 日期和时间函数

11.4.1 CURDATE()函数

11.4.2 CURTIME()函数

11.4.3 NOW()函数

11.4.4 UNIX_TIMESTAMP(date)函数

11.4.5 FROM_UNIXTIME(timestamp)函数

11.4.6 UTC_DATE()函数

11.4.7 UTC_TIME()函数

11.4.8 YEAR(date)函数

11.4.9 MONTH(date)函数

11.4.10 MONTHNAME(date)函数

11.4.11 DAY(date)函数

11.4.12 DAYNAME(date)函数

11.4.13 DAYOFWEEK(date)函数

11.4.14 WEEKDAY(date)函数

11.4.15 WEEK(date)函数

11.4.16 WEEKOFYEAR(date)函数

11.4.17 DAYOFYEAR(date)函数

11.4.18 DAYOFMONTH(date)函数

11.4.19 QUARTER(date)函数

11.4.20 HOUR(time)函数

11.4.21 MINUTE(time)函数

11.4.22 SECOND(time)函数

11.4.23 EXTRACT(type FROM date)函数

11.4.24 TIME_TO_SEC(time)函数

11.4.25 SEC_TO_TIME(seconds)函数

11.4.26 DATE_ADD(date,INTERVAL expr type)函数

11.4.27 DATE_SUB(date,INTERVAL expr type)函数

11.4.28 ADDTIME(time1,time2)函数

11.4.29 SUBTIME(time1,time2)函数

11.4.30 DATEDIFF(date1,date2)函数

11.4.31 FROM_DAYS(N)函数

11.4.32 LAST_DAY(date)函数

11.4.33 MAKEDATE(year,n)函数

11.4.34 MAKETIME(hour,minute,second)函数

11.4.35 PERIOD_ADD(time,n)函数

11.4.36 TO_DAYS(date)函数

11.4.37 DATE_FORMAT(date,format)函数

11.4.38 TIME_FORMAT(time,format)函数

11.4.39 GET_FORMAT(date_type,format_type)函数

11.4.40 STR_TO_DATE(str,format)函数

11.5 流程处理函数

11.5.1 IF(value,value1,value2)函数

11.5.2 IFNULL(value1,value2)函数

11.5.3 CASE WHEN THEN函数

11.5.4 CASE expr WHEN函数

11.6 加密与解密函数

11.6.1 PASSWORD(value)函数

11.6.2 MD5(value)函数

11.6.3 ENCODE(value,password_seed)函数

11.6.4 DECODE(value,password_seed)函数

11.7 聚合函数

11.7.1 COUNT(*/字段名称)函数

11.7.2 MAX(字段名称)函数

11.7.3 MIN(字段名称)函数

11.7.4 SUM(字段名称)函数

11.7.5 AVG(字段名称)函数

11.8 获取MySQL信息函数

11.8.1 VERSION()函数

11.8.2 CONNECTION_ID()函数

11.8.3 DATABASE()函数

11.8.4 USER()函数

11.8.5 LAST_INSERT_ID()函数

11.8.6 CHARSET(value)函数

11.8.7 COLLATION(value)函数

11.9 加锁与解锁函数

11.9.1 GET_LOCK(value,timeout)函数

11.9.2 RELEASE_LOCK(value)函数

11.9.3 IS_FREE_LOCK(value)函数

11.9.4 IS_USED_LOCK(value)函数

11.10 JSON函数

11.10.1 JSON_CONTAINS(json_doc,value)函数

11.10.2 JSON_SEARCH(json_doc ->> '$[*].key',type,value)函数

11.10.3 JSON_PRETTY(json_doc)函数

11.10.4 JSON_DEPTH(json_doc)函数

11.10.5 JSON_LENGTH(json_doc[,path])函数

11.10.6 JSON_KEYS(json_doc[,path])函数

11.10.7 JSON_INSERT(json_doc,path,val[,path,val] ...)函数

11.10.8 JSON_REMOVE(json_doc,path[,path] ...)函数

11.10.9 JSON_REPLACE(json_doc,path,val[,path,val] ...)函数

11.10.10 JSON_SET(json_doc,path,val[,path,val] ...)函数

11.10.11 JSON_TYPE(json_val)函数

11.10.12 JSON_VALID(value)函数

11.11 窗口函数

11.11.1 序号函数

11.11.2 分布函数

11.11.3 前后函数

11.11.4 首尾函数

11.11.5 其他函数

11.12 MySQL的其他函数

11.12.1 FORMAT(value,n)函数

11.12.2 CONV(value,from,to)函数

11.12.3 INET_ATON(value)函数

11.12.4 INET_NTOA(value)函数

11.12.5 BENCHMARK(n,expr)函数

11.12.6 CAST(value AS type)函数

11.12.7 CONVERT(value USING char_code)函数

11.13 本章总结

第12章 MySQL数据变更

12.1 数据插入

12.1.1 数据插入规则

12.1.2 插入完整的行记录

12.1.3 指定字段插入数据

12.1.4 一次插入多条数据记录

12.1.5 将查询结果插入另一个表中

12.2 数据更新

12.2.1 更新数据表中的所有记录

12.2.2 更新表中特定的数据行

12.2.3 更新某个范围内的数据

12.2.4 更新符合正则表达式的数据

12.3 数据删除

12.3.1 删除数据表中特定的数据

12.3.2 删除某个范围内的数据

12.3.3 删除符合正则表达式的数据

12.3.4 删除数据表中的所有数据

12.4 本章总结

第13章 MySQL数据查询

13.1 数据准备

13.2 SELECT查询语句

13.2.1 查询表中所有字段的数据

13.2.2 查询表中单个字段的数据

13.2.3 查询表中指定字段的数据

13.2.4 使用完全限定字段名查询数据

13.2.5 使用完全限定表名查询数据

13.3 WHERE条件语句

13.3.1 WHERE语句语法格式

13.3.2 查询单一的特定数据

13.3.3 查询某个范围内的数据

13.3.4 IN和NOT IN条件语句

13.3.5 BETWEEN AND条件语句

13.3.6 LIKE条件语句

13.3.7 空值条件限制语句

13.3.8 AND语句

13.3.9 OR语句

13.3.10 DISTINCT语句

13.3.11 ORDER BY语句

13.3.12 GROUP BY语句

13.3.13 HAVING语句

13.3.14 WITH ROLLUP语句

13.3.15 对数据同时进行分组与排序

13.3.16 LIMIT语句

13.4 数据聚合查询

13.4.1 查询数据的总行数

13.4.2 查询某列数据的总和

13.4.3 查询某列数据的最小值

13.4.4 查询某列数据的最大值

13.4.5 查询某列数据的平均值

13.5 JOIN语句

13.5.1 INNER JOIN语句

13.5.2 LEFT JOIN语句

13.5.3 RIGHT JOIN语句

13.5.4 CROSS JOIN语句

13.5.5 使用复合连接条件查询数据

13.6 子查询语句

13.6.1 ANY子查询

13.6.2 ALL子查询

13.6.3 EXISTS子查询

13.6.4 NOT EXISTS子查询

13.6.5 IN子查询

13.6.6 NOT IN子查询

13.6.7 子查询作为结果字段

13.7 UNION联合语句

13.7.1 UNION语句

13.7.2 UNION ALL语句

13.8 使用别名查询数据

13.8.1 为字段名指定别名

13.8.2 为表名指定别名

13.8.3 同时为字段名和表名指定别名

13.9 使用正则表达式查询数据

13.10 本章总结

第14章 MySQL索引

14.1 索引简介

14.1.1 MySQL遍历表的方式

14.1.2 索引的优点与缺点

14.1.3 索引的创建原则

14.2 索引的使用场景

14.2.1 适合创建索引的场景

14.2.2 不适合创建索引的场景

14.3 创建数据表时创建索引

14.3.1 语法格式

14.3.2 创建普通索引

14.3.3 创建唯一索引

14.3.4 创建主键索引

14.3.5 创建单列索引

14.3.6 创建组合索引

14.3.7 创建全文索引

14.3.8 创建空间索引

14.4 为已有数据表添加索引

14.4.1 语法格式

14.4.2 创建普通索引

14.4.3 创建唯一索引

14.4.4 创建主键索引

14.4.5 创建单列索引

14.4.6 创建组合索引

14.4.7 创建全文索引

14.4.8 创建空间索引

14.5 删除索引

14.5.1 语法格式

14.5.2 删除索引方式

14.6 隐藏索引

14.6.1 隐藏索引概述

14.6.2 语法格式

14.6.3 创建测试表

14.6.4 索引操作

14.7 降序索引

14.7.1 降序索引概述

14.7.2 降序索引操作

14.8 函数索引

14.8.1 函数索引概述

14.8.2 函数索引操作

14.9 本章总结

第15章 MySQL视图

15.1 视图概述

15.1.1 视图的概念

15.1.2 视图的优点

15.2 创建视图

15.2.1 语法格式

15.2.2 创建单表视图

15.2.3 创建多表联合视图

15.3 查看视图

15.3.1 使用SHOW TABLES语句查看视图

15.3.2 使用DESCRIBE/DESC语句查看视图

15.3.3 使用SHOW TABLE STATUS语句查看视图

15.3.4 使用SHOW CREATE VIEW语句查看视图

15.3.5 查看views数据表中的视图信息

15.4 修改视图的结构

15.4.1 使用CREATE OR REPLACE VIEW语句修改视图结构

15.4.2 使用ALTER语句修改视图结构

15.5 更新视图的数据

15.5.1 直接更新视图数据

15.5.2 间接更新视图数据

15.6 删除视图

15.7 本章总结

第16章 存储过程和函数

16.1 存储过程和函数简介

16.1.1 什么是存储过程和函数

16.1.2 存储过程和函数的使用场景

16.1.3 存储过程和函数的优点

16.2 创建存储过程和函数

16.2.1 创建存储过程

16.2.2 创建存储函数

16.3 查看存储过程和函数

16.3.1 查看存储过程和函数的创建或定义信息

16.3.2 查看存储过程和函数的状态信息

16.3.3 从数据库中查看存储过程和函数的信息

16.4 修改存储过程和函数

16.4.1 修改存储过程

16.4.2 修改存储函数

16.5 调用存储过程和函数

16.5.1 调用存储过程

16.5.2 调用存储函数

16.6 删除存储过程和函数

16.6.1 删除存储过程

16.6.2 删除存储函数

16.7 MySQL中使用变量

16.7.1 定义变量

16.7.2 变量赋值

16.8 MySQL中使用变量案例

16.8.1 在存储过程中使用变量

16.8.2 在函数中使用变量

16.9 定义条件和处理程序

16.9.1 定义条件

16.9.2 定义处理程序

16.10 定义条件和处理程序案例

16.10.1 在存储过程中未定义条件和处理程序

16.10.2 在存储过程中定义条件和处理程序

16.10.3 在函数中未定义条件和处理程序

16.10.4 在函数中定义条件和处理程序

16.11 MySQL中游标的使用

16.11.1 声明游标

16.11.2 打开游标

16.11.3 使用游标

16.11.4 关闭游标

16.12 MySQL中游标的使用案例

16.12.1 在存储过程中使用游标

16.12.2 在函数中使用游标

16.13 MySQL中控制流程的使用

16.13.1 使用IF语句控制流程

16.13.2 使用CASE语句控制流程

16.13.3 使用LOOP语句控制流程

16.13.4 使用LEAVE语句控制流程

16.13.5 使用ITERATE语句控制流程

16.13.6 使用REPEAT语句控制流程

16.13.7 使用WHILE语句控制流程

16.14 本章总结

第17章 MySQL触发器

17.1 创建触发器

17.1.1 语法格式

17.1.2 创建触发器示例

17.2 查看触发器

17.2.1 使用SHOW TRIGGERS语句查看触发器的信息

17.2.2 使用SHOW CREATE TRIGGER语句查看触发器的信息

17.2.3 通过查看triggers数据表中的数据查看触发器的信息

17.3 删除触发器

17.3.1 语法格式

17.3.2 删除触发器示例

17.4 本章小结

第18章 MySQL分区

18.1 分区介绍

18.1.1 不同版本MySQL的分区

18.1.2 分区的优势

18.1.3 分区类型

18.2 RANGE分区

18.2.1 创建分区表

18.2.2 添加分区

18.2.3 删除分区

18.2.4 重定义分区

18.3 LIST分区

18.3.1 创建分区表

18.3.2 添加分区

18.3.3 删除分区

18.3.4 重定义分区

18.4 COLUMNS分区

18.4.1 RANGE COLUMNS分区

18.4.2 LIST COLUMNS分区

18.5 HASH分区

18.5.1 创建分区表

18.5.2 添加分区

18.5.3 合并分区

18.6 KEY分区

18.7 子分区

18.8 分区中的NULL值处理

18.8.1 RANGE分区中的NULL值

18.8.2 LIST分区中的NULL值

18.8.3 HASH分区与KEY分区中的NULL值

18.9 本章总结

第19章 MySQL公用表表达式和生成列

19.1 公用表表达式

19.1.1 非递归CTE

19.1.2 递归CTE

19.1.3 递归CTE的限制

19.2 生成列

19.2.1 创建表时指定生成列

19.2.2 为已有表添加生成列

19.2.3 修改已有的生成列

19.2.4 删除生成列

19.3 本章总结

第4篇 MySQL优化

第20章 MySQL查询优化

20.1 SHOW STATUS语句解析

20.2 EXPLAIN语句解析

20.3 SHOW PROFILE语句解析

20.3.1 分析InnoDB数据表

20.3.2 分析MyISAM数据表

20.3.3 分析MySQL源码

20.4 pt-query-digest分析查询

20.5 优化子查询

20.6 本章总结

第21章 MySQL索引优化

21.1 索引的类型

21.2 使用索引的场景

21.2.1 全值匹配

21.2.2 查询范围

21.2.3 匹配最左前缀

21.2.4 查询索引列

21.2.5 匹配字段前缀

21.2.6 精确与范围匹配索引

21.2.7 匹配NULL值

21.2.8 连接查询匹配索引

21.2.9 LIKE匹配索引

21.3 无法使用索引的场景

21.3.1 以通配符开始的LIKE语句

21.3.2 数据类型转换

21.3.3 联合索引未匹配最左列

21.3.4 OR语句

21.3.5 计算索引列

21.3.6 范围条件右侧的列无法使用索引

21.3.7 使用<>或!=操作符匹配查询条件

21.3.8 匹配NOT NULL值

21.3.9 索引耗时

21.4 使用索引提示

21.4.1 使用索引

21.4.2 忽略索引

21.4.3 强制使用索引

21.5 使用生成列为JSON建立索引

21.6 本章总结

第22章 SQL语句优化

22.1 嵌套查询的优化

22.2 OR条件语句的优化

22.3 ORDER BY语句的优化

22.4 GROUP BY语句的优化

22.5 分页查询的优化

22.5.1 回表查询优化分页

22.5.2 记录数据标识优化分页

22.6 插入数据的优化

22.6.1 MyISAM数据表插入数据的优化

22.6.2 InnoDB数据表插入数据的优化

22.7 删除数据的优化

22.8 本章总结

第23章 数据库优化

23.1 优化数据类型

23.1.1 使用数据类型的基本原则

23.1.2 优化表中的数据类型

23.2 删除重复索引和冗余索引

23.2.1 创建测试索引

23.2.2 使用pt-duplicate-key-checker删除重复索引和冗余索引

23.2.3 使用mysqlindexcheck删除重复索引和冗余索引

23.3 反范式化设计

23.4 增加中间表

23.5 分析数据表

23.6 检查数据表

23.7 优化数据表

23.8 拆分数据表

23.8.1 垂直拆分数据表

23.8.2 水平拆分数据表

23.9 本章总结

第24章 MySQL服务器优化

24.1 MySQL服务器硬件的优化

24.1.1 优化硬件配置

24.1.2 系统内核优化

24.2 MySQL配置项的优化

24.3 本章总结

第25章 应用程序优化

25.1 复用数据库连接

25.2 减少数据访问

25.3 开启查询缓存

25.4 使用外部缓存

25.5 使用分布式MySQL架构

25.6 本章总结

第26章 MySQL的其他优化选项

26.1 使用performance_schema数据库分析MySQL

26.1.1 查看MySQL是否支持performance_schema

26.1.2 开启或关闭performance_schema

26.1.3 performance_schema的简单配置与使用

26.2 使用sys数据库分析MySQL

26.2.1 sys数据库概述

26.2.2 sys数据库的常用查询

26.3 MySQL 8.x中的资源组

26.3.1 开启CAP_SYS_NICE

26.3.2 创建资源组

26.3.3 查看资源组

26.3.4 绑定资源组

26.3.5 修改资源组

26.3.6 开启与禁用资源组

26.3.7 删除资源组

26.4 本章总结

第5篇 MySQL运维

第27章 MySQL命令行工具

27.1 查看MySQL命令

27.2 mysql命令

27.2.1 登录MySQL终端

27.2.2 设置客户端连接编码

27.2.3 直接执行SQL语句

27.2.4 格式化输出结果

27.2.5 SQL报错处理

27.3 mysqladmin命令

27.3.1 mysqladmin命令参数

27.3.2 mysqladmin命令简单示例

27.4 myisampack命令

27.5 mysqlbinlog命令

27.6 mysqlcheck命令

27.7 mysqlshow命令

27.8 mysqldump命令

27.9 mysqlimport命令

27.10 本章总结

第28章 MySQL日志

28.1 查询日志

28.1.1 开启查询日志

28.1.2 查看查询日志

28.1.3 删除查询日志

28.1.4 关闭查询日志

28.2 慢查询日志

28.2.1 开启慢查询日志

28.2.2 查看慢查询日志

28.2.3 删除慢查询日志

28.2.4 关闭慢查询日志

28.3 错误日志

28.3.1 开启错误日志

28.3.2 查看错误日志

28.3.3 删除错误日志

28.3.4 关闭错误日志

28.4 二进制日志

28.4.1 开启二进制日志

28.4.2 查看二进制日志

28.4.3 删除二进制日志

28.4.4 暂时停止与开启二进制日志

28.4.5 关闭二进制日志

28.5 本章总结

第29章 数据备份与恢复

29.1 基于mysqldump备份并恢复数据

29.1.1 备份数据

29.1.2 恢复数据

29.2 基于mysqlpump备份并恢复数据

29.3 基于mydumper备份并恢复数据

29.3.1 安装mydumper

29.3.2 备份数据

29.3.3 恢复数据

29.4 基于mysqlhotcopy备份并恢复数据

29.4.1 安装mysqlhotcopy

29.4.2 备份数据

29.4.3 恢复数据

29.5 基于xtrabackup备份并恢复数据

29.5.1 安装xtrabackup

29.5.2 备份数据

29.5.3 恢复准备

29.5.4 恢复数据

29.6 数据备份与恢复案例

29.6.1 完全恢复数据案例

29.6.2 基于位置点恢复数据案例

29.6.3 基于时间点恢复数据案例

29.7 MySQL灾难恢复

29.7.1 问题重现

29.7.2 问题分析

29.7.3 问题解决

29.8 实现数据库的自动备份

29.9 导出数据

29.9.1 使用SELECT INTO OUTFILE语句导出数据

29.9.2 使用mysqldump命令导出数据

29.9.3 使用mysql命令导出数据

29.10 导入数据

29.10.1 使用LOAD DATA INFILE导入数据

29.10.2 使用mysqlimport导入数据

29.11 遇到的问题和解决方案

29.12 本章总结

第30章 MySQL账户管理

30.1 MySQL中的权限表

30.2 创建普通用户

30.2.1 使用CREATE USER语句创建用户

30.2.2 使用GRANT语句创建用户

30.2.3 操作user数据表创建用户

30.3 为用户授权

30.3.1 权限层级

30.3.2 使用GRANT语句为用户授权

30.3.3 通过操作权限表为用户授权

30.4 查看用户权限

30.4.1 通过SHOW GRANTS FOR语句查看用户权限

30.4.2 通过查询mysql.user数据表查看用户权限

30.4.3 通过查询information_schema数据库查看用户权限

30.5 修改用户权限

30.5.1 使用GRANT语句修改用户权限

30.5.2 通过操作数据表修改用户权限

30.6 撤销用户权限

30.6.1 使用REVOKE语句撤销用户权限

30.6.2 通过操作数据表撤销用户权限

30.7 修改用户密码

30.7.1 通过mysqladmin修改用户密码

30.7.2 使用SET PASSWORD语句修改用户密码

30.7.3 使用GRANT语句修改用户密码

30.7.4 通过操作user数据表修改用户密码

30.7.5 忘记root密码的解决方案

30.8 删除用户

30.8.1 使用DROP USER语句删除用户

30.8.2 使用DELETE语句删除用户

30.9 限制用户使用资源

30.9.1 限制用户使用资源示例

30.9.2 修改用户的资源限制

30.9.3 解除用户的资源限制

30.10 MySQL 8.x版本中的账户管理

30.10.1 用户创建和授权

30.10.2 认证插件更新

30.10.3 密码管理

30.10.4 角色管理

30.11 本章总结

第6篇 MySQL架构

第31章 MySQL复制

31.1 搭建MySQL主从复制环境

31.1.1 服务器规划

31.1.2 搭建MySQL主从环境

31.1.3 测试MySQL主从复制环境

31.2 搭建MySQL主主复制环境

31.2.1 服务器规划

31.2.2 将MySQL主从环境切换为主主环境

31.2.3 直接搭建MySQL主主环境

31.2.4 测试MySQL主主复制环境

31.3 添加MySQL从库

31.3.1 服务器规划

31.3.2 在主从服务器上进行的操作

31.3.3 测试MySQL主从复制环境

31.4 切换主从复制到链式复制

31.4.1 服务器规划

31.4.2 切换复制模式

31.5 切换链式复制到主从复制

31.6 搭建MySQL多源复制环境

31.6.1 服务器规划

31.6.2 搭建MySQL多源复制环境

31.6.3 测试MySQL多源复制环境

31.7 添加复制过滤器

31.7.1 复制指定的数据库

31.7.2 忽略指定的数据库

31.7.3 复制指定的数据表

31.7.4 忽略指定的数据表

31.8 设置延迟复制

31.9 基于GTID搭建MySQL主从复制环境

31.10 基于半同步模式搭建MySQL主从复制环境

31.10.1 半同步参数说明

31.10.2 配置半同步复制

31.10.3 测试半同步复制

31.11 本章总结

第32章 MySQL读写分离

32.1 基于MySQL Proxy实现读写分离

32.1.1 服务器规划

32.1.2 安装Lua环境

32.1.3 安装MySQL Proxy

32.1.4 配置MySQL Proxy读写分离

32.1.5 启动MySQL Proxy

32.1.6 测试MySQL Proxy的读写分离

32.2 基于Atlas实现读写分离

32.2.1 服务器规划

32.2.2 安装Atlas

32.2.3 配置Atlas读写分离

32.2.4 启动Atlas

32.2.5 测试Atlas读写分离

32.3 基于ProxySQL实现读写分离

32.3.1 服务器规划

32.3.2 安装ProxySQL

32.3.3 配置ProxySQL读写分离

32.3.4 测试ProxySQL读写分离

32.4 基于Amoeba实现读写分离

32.4.1 服务器规划

32.4.2 安装JDK

32.4.3 安装Amoeba

32.4.4 配置Amoeba读写分离

32.4.5 启动Amoeba

32.4.6 测试Amoeba读写分离

32.5 基于Mycat实现读写分离

32.5.1 服务器规划

32.5.2 安装JDK

32.5.3 安装Mycat

32.5.4 配置Mycat读写分离

32.5.5 启动Mycat

32.5.6 测试Mycat读写分离

32.6 本章总结

第33章 MySQL HA高可用架构

33.1 基于Keepalived搭建MySQL高可用环境

33.1.1 服务器规划

33.1.2 安装Keepalived

33.1.3 配置MySQL高可用

33.1.4 测试MySQL高可用

33.1.5 自动重启MySQL

33.2 基于HAProxy搭建Mycat高可用环境

33.2.1 服务器规划

33.2.2 安装Mycat状态检查服务

33.2.3 安装HAProxy服务

33.2.4 配置Mycat负载均衡

33.2.5 测试Mycat高可用环境

33.3 基于Keepalived搭建HAProxy高可用环境

33.3.1 服务器规划

33.3.2 安装并配置HAProxy和Keepalived

33.3.3 配置HAProxy高可用性

33.3.4 测试HAProxy高可用性

33.4 本章总结

参考文献

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部