剑指MySQL:架构、调优与运维
正版保障 假一赔十 可开发票
¥
78.85
6.2折
¥
128
全新
库存26件
作者尚硅谷教育编著
出版社电子工业出版社
ISBN9787121479403
出版时间2024-06
装帧平装
开本其他
定价128元
货号16241448
上书时间2024-11-08
商品详情
- 品相描述:全新
- 商品描述
-
目录
目录 第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 表级别的共享锁
— 没有更多了 —
以下为对购买帮助不大的评价