电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
微信扫描二维码,访问我们的微信店铺

剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育

59.00
运费: 免运费
剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育 商品图0
剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育 商品图1
剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育 商品缩略图0 剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育 商品缩略图1

商品详情

书名:剑指MySQL——架构、调优与运维  
定价:128.0  
ISBN:9787121479403  
作者:无  
版次:*1版  
出版时间:2024-06  

内容提要:  
MySQL是风靡全球的数据库管理系统,被广泛应用于互联网场景。作为一名开发人员,掌握MySQL是*备技能。本书从MySQL的安装与使用开始,逐步深入。首先宏观地介绍MySQL的目录结构、用户与权限管理、逻辑架构、存储引擎、InnoDB存储引擎中的数据存储结构等;然后介绍MySQL中的索引、性能分析工具的使用、索引优化、数据库的设计规范、数据库调优等;接着介绍MySQL中的事务和锁机制,以及MySQL如何保证事务的特性,涉及redo日志、undo日志、MVCC及各种锁的细节等知识;*后介绍数据库软硬件的性能优化,包括主从复制、数据库备份与恢复等。本书内容全面细致,讲解深入浅出,书中穿插了大量案例,做到了理论和实践相结合。本书主要以MySQL 8.0以后的版本为例进行讲解,同时融合了MySQL 8.0以前的版本进行比较,适用性更强。无论你是致力于构建和管理高性能、高可用性的数据库系统的开发人员,还是数据库管理员,都能从本书中有所收获。  



作者简介:  
尚硅谷教育是一家专业的IT教育培训机构,开设了JavaEE、大数据、HTML5前端等多门学科,在互联网上发布的JavaEE、大数据、HTML5前端、区块链、C语言、Python等技术视频教程广受赞誉。  

媒体评论:  
-内容全面深入:涵盖了数据库架构与设计、查询优化、索引优化、性能分析工具、事务处理、日志与备份、锁机制、主从复制与集群等内容。-实例丰富实用:海量代码全面展示MySQL 8.0的新*级特性。书中案例既包括常见的百余种业务场景,又涵盖了复杂的性能优化问题,能够帮助读者更好地将理论知识与企业业务场景相结合,提高解决实际问题的能力。-讲解清晰易懂:讲练结合,方便读者轻松理解复杂的MySQL*级概念。-图文并茂:大部分知识讲解都有对应的图解,读者理解起来更加轻松,并同时附赠40小时的配套视频。-与时俱进:基于新版MySQL 8.0,并与MySQL 5.x版本进行做对比讲解,全面剖析MySQL 8.0的新特性。  

目录:  
目录  

*1章 Linux平台下MySQL的安装与使用 1  
1.1 MySQL概述 1  
1.1.1 MySQL简介 1  
1.1.2 MySQL的发展历程 2  
1.1.3 MySQL高手是如何练就的 3  
1.2 Linux平台下MySQL的安装 3  
1.2.1 MySQL的四大版本 3  
1.2.2 下载MySQL指定版本 3  
1.2.3 Linux平台下安装MySQL的  
三种方式 5  
1.2.4 安装MySQL前的必要操作 6  
1.2.5 CentOS 7下MySQL的安装  
过程 7  
1.3 卸载MySQL 10  
1.4 登录MySQL 10  
1.4.1 *次登录 10  
1.4.2 修改密码 11  
1.4.3 设置远程登录 11  
1.5 MySQL 8.0的密码强度评估 14  
1.5.1 MySQL不同版本的密码设置 14  
1.5.2 MySQL 8.0的密码安全策略 15  
1.6 字符集的设置 17  
1.6.1 查看字符集 17  
1.6.2 查看校对规则 18  
1.6.3 各级别的字符集和校对规则 19  
1.6.4 MySQL 5.7和MySQL 8.0中数据  
库级别默认字符集的变化 22  
1.7 SQL语句中的字母大小写规范 23  
1.7.1 Windows和Linux平台下字母  
大小写规范的区别 23  
1.7.2 Linux平台下字母大小写规范  
设置 23  
1.8 sql_mode 24  
1.8.1 sql_mode简介 24  
1.8.2 宽松模式与严格模式对比 24  
1.8.3 模式的查看和设置 25  
1.9 小结 26  
*2章 MySQL的目录结构 27  
2.1 MySQL的主要目录 27  
2.1.1 MySQL的数据目录 27  
2.1.2 MySQL的数据库命令目录 27  
2.2 数据库和文件系统的关系 29  
2.2.1 查看系统数据库 29  
2.2.2 数据库在文件系统中的表示 29  
2.2.3 表在文件系统中的表示 30  
2.2.4 视图在文件系统中的表示 33  
2.2.5 其他文件 33  
2.3 小结 34  
第3章 用户与权限管理 35  
3.1 权限表 35  
3.1.1 user表 35  
3.1.2 db表 37  
3.1.3 tables_priv表和  
columns_priv表 38  
3.1.4 procs_priv表 39  
3.2 用户管理 40  
3.2.1 登录MySQL服务器 40  
3.2.2 创建用户 40  
3.2.3 删除用户 41  
3.2.4 修改用户信息 42  
3.2.5 修改当前用户的密码 42  
3.2.6 修改其他普通用户的密码 43  
3.2.7 MySQL 8.0密码管理 43  
3.3 权限管理 45  
3.3.1 权限列表 45  
3.3.2 授予权限的原则 46  
3.3.3 授予权限的方式 46  
3.3.4 查看权限 47  
3.3.5 回收权限 50  
3.4 访问控制 50  
3.4.1 连接核实阶段 50  
3.4.2 请求核实阶段 50  
3.5 角色管理 51  
3.5.1 角色概述 51  
3.5.2 创建角色 52  
3.5.3 给角色授权 52  
3.5.4 查看角色拥有的权限 53  
3.5.5 回收角色拥有的权限 53  
3.5.6 删除角色 54  
3.5.7 赋予用户角色 54  
3.5.8 激活角色 55  
3.5.9 撤销用户被赋予的角色 55  
3.5.10 设置强制角色 56  
3.6 配置文件的使用 57  
3.6.1 配置文件的格式 57  
3.6.2 启动命令与选项组 58  
3.6.3 特定MySQL版本的专用  
选项组 59  
3.6.4 同一配置文件中多个选项组的  
优先级 59  
3.6.5 命令行和配置文件中启动选项  
的区别 59  
3.7 系统变量 59  
3.7.1 系统变量简介 59  
3.7.2 查看系统变量 59  
3.7.3 通过启动选项设置系统变量 60  
3.7.4 在服务器端程序运行过程中设置系统变量 61  
3.7.5 启动选项和系统变量之间的  
关系 63  
3.8 小结 63  
第4章 逻辑架构 64  
4.1 逻辑架构剖析 64  
4.1.1 MySQL的逻辑架构 64  
4.1.2 客户端连接器 66  
4.1.3 连接层 66  
4.1.4 服务层 66  
4.1.5 存储引擎层 67  
4.1.6 存储层 68  
4.2 SQL语句的执行流程 68  
4.3 MySQL 5.7中的查询缓存设置 73  
4.4 数据库缓冲池 75  
4.4.1 缓冲池和查询缓存 75  
4.4.2 查看缓冲池的大小 76  
4.4.3 将数据加载到缓冲池中 77  
4.4.4 缓冲池中的free链表 78  
4.4.5 缓冲池中的LRU链表 79  
4.4.6 缓冲池中的flush链表 81  
4.5 小结 82  
第5章 存储引擎 83  
5.1 存储引擎的相关操作 83  
5.1.1 查看存储引擎 83  
5.1.2 设置系统默认的存储引擎 85  
5.1.3 设置表的存储引擎 85  
5.2 主要存储引擎介绍 86  
5.2.1 InnoDB存储引擎:事务型存储  
引擎 86  
5.2.2 MyISAM存储引擎:主要的非事务处理存储引擎 86  
5.2.3 ARCHIVE存储引擎:数据  
存档 86  
5.2.4 BLACKHOLE存储引擎:丢弃写操作 87  
5.2.5 CSV存储引擎:存储CSV  
文件 87  
5.2.6 MEMORY存储引擎:内存表 88  
5.2.7 其他存储引擎 89  
5.2.8 常用存储引擎对比 89  
5.3 小结 90  
第6章 InnoDB存储引擎中的数据存储结构 91  
6.1 数据库的存储架构 91  
6.2 InnoDB存储引擎中的行格式 91  
6.2.1 查看和修改行格式 91  
6.2.2 完整的记录信息 92  
6.2.3 行溢出 93  
6.2.4 REDUNDANT行格式 94  
6.2.5 COMPACT行格式 94  
6.2.6 DYNAMIC和COMPRESSED  
行格式 95  
6.3 页的结构 96  
6.3.1 页的组成部分 96  
6.3.2 从页的角度看B+树是如何进行  
查询的 99  
6.4 区和段 99  
6.4.1 区 99  
6.4.2 段 100  
6.5 表空间 100  
6.6 小结 102  
第7章 索引 103  
7.1 索引概述 103  
7.2 合理选择索引的数据结构 104  
7.2.1 二叉搜索树 104  
7.2.2 AVL树 105  
7.2.3 B树 105  
7.2.4 B+树 106  
7.2.5 哈希结构 108  
7.3 索引分类 109  
7.3.1 按功能逻辑分类 110  
7.3.2 按物理实现方式分类 111  
7.3.3 按索引字段个数分类 112  
7.4 索引的创建与删除 113  
7.4.1 创建索引 113  
7.4.2 删除索引 123  
7.5 InnoDB和MyISAM存储引擎中的索引  
方案 126  
7.5.1 InnoDB存储引擎中的索引  
方案 126  
7.5.2 MyISAM存储引擎中的索引  
方案 128  
7.5.3 InnoDB和MyISAM存储引擎中  
的索引方案对比 129  
7.6 MySQL 8.0的新特性 130  
7.6.1 支持降序索引 130  
7.6.2 支持隐藏索引 132  
7.7 适合创建索引的场景 135  
7.7.1 数据准备 135  
7.7.2 查询操作的条件字段 137  
7.7.3 分组和排序的字段 138  
7.7.4 更新和删除操作的条件字段 141  
7.7.5 去重的字段 142  
7.7.6 多表连接查询 142  
7.7.7 数据类型小的列 143  
7.8 不适合创建索引的场景 144  
7.8.1 WHERE条件用不到的字段 144  
7.8.2 数据量小的表 144  
7.8.3 有大量重复数据的字段 145  
7.8.4 索引不要冗余或重复创建 147  
7.8.5 其他不适合创建索引的场景 147  
7.9 小结 148  
第8章 性能分析工具的使用 149  
8.1 数据库性能调优步骤 149  
8.2 查看系统状态信息 150  
8.3 查看SQL查询成本 151  
8.4 定位执行时间长的SQL语句 153  
8.4.1 开启慢查询日志 153  
8.4.2 测试及分析 155  
8.4.3 慢查询日志分析工具 156  
8.4.4 关闭慢查询日志 157  
8.4.5 删除慢查询日志 157  
8.5 查看SQL语句的具体查询成本 158  
8.6 分析查询语句:EXPLAIN 163  
8.6.1 说明 163  
8.6.2 EXPLAIN结果之id 164  
8.6.3 EXPLAIN结果之select_type 166  
8.6.4 EXPLAIN结果之table 172  
8.6.5 EXPLAIN结果之partitions 172  
8.6.6 EXPLAIN结果之type 173  
8.6.7 EXPLAIN结果之possible_keys  
和key 177  
8.6.8 EXPLAIN结果之key_len 178  
8.6.9 EXPLAIN结果之ref 179  
8.6.10 EXPLAIN结果之rows 181  
8.6.11 EXPLAIN结果之filtered 181  
8.6.12 EXPLAIN结果之Extra 182  
8.6.13 JSON格式的执行计划 183  
8.6.14 执行计划的扩展信息 185  
8.7 小结 185  
第9章 索引优化 186  
9.1 数据准备 186  
9.2 索引优化原则 188  
9.2.1 全值匹配法则 188  
9.2.2 *左前缀法则 188  
9.2.3 优先考虑覆盖索引 190  
9.3 索引失效的场景 191  
9.3.1 查询条件中包含函数、计算导致  
索引失效 191  
9.3.2 范围查询条件右边的列不能被  
使用导致索引失效 194  
9.3.3 不等值查询导致索引失效 195  
9.3.4 判空条件对索引的影响 196  
9.3.5 LIKE以通配符“%”开头导致  
索引失效 196  
9.3.6 数据类型转换导致索引失效 197  
9.3.7 OR关键字导致索引失效 198  
9.4 关联查询优化 199  
9.4.1 数据准备 199  
9.4.2 采用左连接:LEFT JOIN 200  
9.4.3 采用内连接:INNER JOIN 203  
9.4.4 JOIN语句的原理 206  
9.5 排序优化 210  
9.5.1 ORDER BY的索引规则 210  
9.5.2 排序方式比较 214  
9.5.3 影响排序效率的两个系统  
变量 217  
9.6 索引下推 217  
9.6.1 索引下推概述 217  
9.6.2 索引下推案例 221  
9.7 B+树索引的优化 223  
9.7.1 自适应哈希索引 223  
9.7.2 覆盖索引 224  
9.8 其他索引优化场景 225  
9.8.1 子查询优化 225  
9.8.2 分页查询优化 228  
9.8.3 索引提示 229  
9.8.4 前缀索引 231  
9.9 常用SQL编写建议 233  
9.10 小结 235  
*10章 数据库的设计规范 236  
10.1 范式 236  
10.1.1 范式简介 236  
10.1.2 范式分类 236  
10.1.3 数据表中的键 237  
10.1.4 *一范式 238  
10.1.5 *二范式 238  
10.1.6 第三范式 239  
10.1.7 巴斯-科德范式 240  
10.1.8 第四范式 240  
10.2 反范式化 241  
10.2.1 反范式化概述 241  
10.2.2 反范式化应用举例 241  
10.2.3 反范式化的使用建议 246  
10.3 ER模型 246  
10.3.1 ER模型中的要素 247  
10.3.2 ER模型中实体的属性 248  
10.3.3 把ER模型转换为数据表 249  
10.3.4 把实体转换为数据表 249  
10.3.5 把多对多的关系转换为  
数据表 252  
10.3.6 通过外键来表达一对多的  
关系 252  
10.3.7 把属性转换为表中的字段 252  
10.4 数据库对象的设计规范 253  
10.4.1 库的设计规范 253  
10.4.2 表的设计规范 253  
10.4.3 索引的设计规范 254  
10.5 PowerDesigner的使用 255  
10.6 小结 261  
*11章 数据库调优 262  
11.1 数据库调优的措施 262  
11.1.1 如何解决定位问题 262  
11.1.2 数据库调优的维度和步骤 262  
11.2 优化MySQL服务器 264  
11.2.1 优化服务器硬件 264  
11.2.2 优化MySQL服务的配置  
参数 264  
11.3 优化数据库结构 268  
11.3.1 拆分表:冷、热数据分离 268  
11.3.2 增加中间表或冗余字段 269  
11.3.3 优化字段的数据类型 270  
11.3.4 优化插入记录的速度 277  
11.3.5 使用非空约束 279  
11.3.6 分析表、检查表和优化表 279  
11.4 大表优化 284  
11.4.1 读写分离 284  
11.4.2 垂直拆分 285  
11.4.3 水平拆分 286  
11.5 其他调优策略 287  
11.5.1 服务器语句超时处理 287  
11.5.2 创建全局通用表空间 287  
11.5.3 临时表性能优化 288  
11.6 小结 289  
*12章 数据库事务 291  
12.1 事务概述 291  
12.1.1 事务的ACID特性 291  
12.1.2 事务的状态 292  
12.2 事务的基本使用 293  
12.2.1 数据准备 293  
12.2.2 事务的基本语法 294  
12.2.3 隐式提交数据库事务的情况 296  
12.2.4 事务提交和回滚案例 297  
12.2.5 不支持事务的表无法回滚  
事务 299  
12.2.6 事务保存点 300  
12.3 事务隔离级别 301  
12.3.1 数据库并发问题 301  
12.3.2 事务中的4种隔离级别 303  
12.3.3 设置隔离级别 304  
12.3.4 不同隔离级别下的并发情况 305  
12.4 小结 309  
*13章 redo日志和undo日志 310  
13.1 为什么需要日志维护事务 310  
13.2 redo日志 311  
13.2.1 redo日志的优势 311  
13.2.2 redo日志文件组 311  
13.2.3 checkpoint 312  
13.2.4 Log Sequence Number 312  
13.2.5 redo日志缓存 313  
13.2.6 redo日志刷盘策略 314  
13.2.7 redo日志相关参数 315  
13.3 undo日志 316  
13.3.1 为什么需要undo日志 316  
13.3.2 undo日志的作用 316  
13.3.3 undo日志的存储机制 317  
13.3.4 undo日志如何回滚事务 319  
13.3.5 undo日志相关参数 321  
13.4 小结 322  
*14章 锁 323  
14.1 锁概述 323  
14.1.1 并发事务访问相同记录 323  
14.1.2 锁的分类 324  
14.2 共享锁和独占锁 325  
14.3 表级锁 327  
14.3.1 表级别的共享锁和独占锁 327  
14.3.2 意向锁 331  
14.3.3 自增锁 333  
14.3.4 元数据锁 335  
14.4 InnoDB存储引擎中的行级锁 336  
14.4.1 记录锁 337  
14.4.2 间隙锁 338  
14.4.3 临键锁 339  
14.4.4 插入意向锁 340  
14.5 悲观锁和乐观锁 340  
14.5.1 悲观锁 340  
14.5.2 乐观锁 341  
14.5.3 悲观锁和乐观锁的适用场景 342  
14.6 隐式锁和显式锁 342  
14.6.1 隐式锁 342  
14.6.2 显式锁 343  
14.7 死锁 343  
14.8 锁监控 348  
14.9 MySQL加锁案例解析 352  
14.9.1 案例一:唯*索引等值查询 352  
14.9.2 案例二:非唯*索引等值  
查询 354  
14.9.3 案例三:主键索引范围查询 356  
14.9.4 案例四:非唯*索引上存在  
等值的情况 357  
14.9.5 案例五:LIMIT语句加锁 359  
14.10 小结 361  
*15章 多版本并发控制 362  
15.1 什么是MVCC 362  
15.1.1 快照读 363  
15.1.2 当前读 363  
15.2 版本链 363  
15.3 ReadView 367  
15.3.1 什么是ReadView 367  
15.3.2 ReadView的设计思路 367  
15.3.3 ReadView规则 368  
15.3.4 MVCC整体操作流程 370  
15.4 不同隔离级别下的ReadView 370  
15.4.1 READ COMMITTED隔离级  
别下的ReadView 371  
15.4.2 REPEATABLE READ隔离级  
别下的ReadView 373  
15.5 小结 375  
*16章 其他数据库日志 376  
16.1 MySQL支持的日志 376  
16.2 通用查询日志 376  
16.2.1 开启/关闭通用查询日志  
功能 377  
16.2.2 查看通用查询日志 378  
16.2.3 删除(刷新)通用查询  
日志 378  
16.3 错误日志 379  
16.3.1 开启错误日志功能 379  
16.3.2 查看错误日志 379  
16.3.3 删除(刷新)错误日志 380  
16.4 二进制日志 381  
16.4.1 开启/关闭二进制日志功能 381  
16.4.2 二进制日志参数设置 382  
16.4.3 查看二进制日志 383  
16.4.4 删除(刷新)二进制日志 388  
16.4.5 使用二进制日志恢复数据 389  
16.4.6 二进制日志的写入机制 394  
16.4.7 两阶段提交 396  
16.5 中继日志 397  
16.6 数据定义语句日志 398  
16.7 小结 398  
*17章 主从复制 399  
17.1 主从复制概述 399  
17.2 主从复制的原理 400  
17.3 主从复制架构的搭建 400  
17.3.1 准备工作 401  
17.3.2 修改配置文件 401  
17.3.3 主机:创建账户并授权 402  
17.3.4 从机:配置需要复制的主机  
信息 403  
17.3.5 测试和停止主从复制 405  
17.3.6 双主双从架构 405  
17.3.7 二进制日志格式在主从复制架构中的优缺点 406  
17.4 数据一致性 407  
17.4.1 数据同步延迟问题 407  
17.4.2 如何解决主从复制中数据不一致的问题 408  
17.5 数据库中间件 410  
17.6 小结 410  
*18章 数据库备份与恢复 411  
18.1 物理备份和逻辑备份的概念 411  
18.2 逻辑备份之mysqldump命令 411  
18.2.1 备份单个数据库 412  
18.2.2 备份全部数据库 414  
18.2.3 备份多个数据库 414  
18.2.4 备份部分表 414  
18.2.5 备份单表中的部分数据 416  
18.2.6 排除某些表的备份 416  
18.2.7 只备份表结构或只备份  
数据 416  
18.2.8 备份中包含函数、存储过程或  
事件 417  
18.2.9 以事务的形式备份 419  
18.2.10 mysqldump命令的常用  
参数 419  
18.3 逻辑恢复之mysql命令 420  
18.3.1 从单库备份中恢复单库 420  
18.3.2 全量备份恢复 420  
18.3.3 从全量备份中恢复单库 421  
18.3.4 从单库备份中恢复单表 421  
18.4 MyISAM存储引擎类型的表的物理  
备份 421  
18.5 MyISAM存储引擎类型的表的物理  
备份的恢复流程 422  
18.6 InnoDB存储引擎类型的表的物理  
导出、导入 423  
18.7 导出不同格式的文件 424  
18.7.1 使用SELECT…INTO OUTFILE语句导出文件 425  

18.7.2 使用mysqldump命令导出  
文件 426  
18.7.3 使用mysql命令导出文件 428  
18.8 导入文本文件 430  
18.8.1 使用LOAD DATA INFILE  
语句导入文本文件 430  
18.8.2 使用mysqlimport命令导入  
文本文件 431  
18.9 数据迁移 433  
18.9.1 数据迁移概述 433  
18.9.2 迁移方案和注意事项 433  
18.10 误删数据的预防方案和恢复方案 435  
18.11 MySQL常用命令 436  
18.11.1 mysql 436  
18.11.2 mysqladmin 436  
18.11.3 mysqlbinlog 437  
18.11.4 mysqldump 438  
18.11.5 mysqlshow 438  
18.12 小结 439  

电子工业出版社精品店店铺主页二维码
电子工业出版社精品店
扫描二维码,访问我们的微信店铺

剑指MySQL 架构 调优与运维 MySQL安装使用教程 MySQL性能分析数据库设计规范 数据库软硬件性能优化书籍 尚硅谷教育

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏