第1章 MySQL架构介绍. 1
1.1 MySQL架构 1
1.1.1 MySQL物理文件的组成 2
1.1.2 MySQL各逻辑块简介 4
1.1.3 MySQL各逻辑块协调工作 6
1.2 MySQL存储引擎概述 7
1.3 MySQL各种存储引擎的特性 10
1.3.1 MyISAM. 10
1.3.2 InnoDB 12
1.3.3 MEMORY 15
1.3.4 MERGE 18
1.3.5 BerkeleyDB存储引擎 20
1.4 MySQL工具 21
1.4.1 MySQL命令行实用程序 21
1.4.2 MySQL Workbench 33
1.5 本章小结 34
第2章 MySQL权限与安全 35
2.1 权限表 35
2.1.1 user表. 35
2.1.2 db表和 host表 37
2.1.3 tables_priv表和 columns_priv表 39
2.1.4 procs_priv表 40
2.2 账户管理 41
2.2.1 登录和退出 MySQL服务器 41
2.2.2 新建普通用户 43
2.2.3 删除普通用户 47
2.2.4 root用户修改自己的密码 48
2.2.5 root用户修改普通用户密码 50
2.2.6 普通用户修改密码 51
2.2.7 root用户密码丢失的解决办法 51
2.3 权限管理 53
2.3.1 MySQL的各种权限 53
2.3.2 授权 55
2.3.3 收回权限 57
2.3.4 查看权限 58
2.4 访问控制 59
2.4.1 连接核实阶段 59
2.4.2 请求核实阶段 60
2.5 MySQL的安全问题 61
2.5.1 操作系统相关的安全问题 61
2.5.2 数据库相关的安全问题 62
2.6 使用 SSL安全连接 71
2.7 综合管理用户权限 77
2.8 小结 80
第3章 数据备份与还原. 81
3.1 数据备份 81
3.1.1 使用 mysqldump命令备份 81
3.1.2 直接复制整个数据库目录 88
3.1.3 使用 mysqlhotcopy工具快速备份 88
3.2 数据还原 89
3.2.1 使用 MySQL命令还原 89
3.2.2 直接复制到数据库目录 90
3.2.3 mysqlhotcopy快速恢复 90
3.3 数据库迁移 90
3.3.1 相同版本的 MySQL数据库之间的迁移 91
3.3.2 不同版本的 MySQL数据库之间的迁移 91
3.3.3 不同数据库之间的迁移 92
3.4 表的导出和导入 92
3.4.1 使用 SELECT…INTO OUTFILE导出文本文件 92
3.4.2 用 mysqldump命令导出文本文件 95
3.4.3 用 MySQL命令导出文本文件 98
3.4.4 使用 LOAD DATA INFILE方式导入文本文件 101
3.4.5 使用 mysqlimport命令导入文本文件 103
3.5 综合实例——数据的备份与恢复 105
3.6 小结 109
第4章 MySQL的高级特性 110
4.1 MySQL 查询缓存 110
4.1.1 认识查询缓存 110
4.1.2 监控和维护查询缓存 115
4.1.3 如何检查缓存命中率 117
4.1.4 优化查询缓存 118
4.2 合并表和分区表 119
4.2.1 合并表 119
4.2.2 分区表 121
4.3 事务控制 131
4.4 MySQL分布式事务 135
4.4.1 了解分布式事务的原理 135
4.4.2 分布式事务的语法 136
4.5 小结 137
第5章 MySQL锁定机制 138
5.1 MySQL锁定机制概述 138
5.2 MyISAM表级锁 143
5.2.1 MyISAM表级锁的锁模式 143
5.2.2 获取 MyISAM表级锁的争用情况 145
5.2.3 MyISAM表级锁加锁方法 146
5.2.4 MyISAM Concurrent Insert的特性 148
5.2.5 MyISAM表锁优化建议 150
5.3 InnoDB行级锁 150
5.3.1 InnoDB行级锁模式 150
5.3.2 获取 InnoDB行级锁的争用情况 155
5.3.3 InnoDB行级锁的实现方法 157
5.3.4 间隙锁(Net-Key锁) 162
5.3.5 InnoDB 在不同隔离级别下加锁的差异 163
5.3.6 InnoDB 存储引擎中的死锁 164
5.3.7 InnoDB行级锁优化建议 166
5.4 小结 167
第6章 使用 MySQL Workbench 管理数据库 168
6.1 MySQL Workbench简介 168
6.1.1 MySQL Workbench 的概述 168
6.1.2 MySQL Workbench 的优势 169
6.1.3 MySQL Workbench 的安装 169
6.2 SQL Development的基本操作 171
6.2.1 创建数据库连接 171
6.2.2 创建新的数据库 173
6.2.3 创建和删除新的数据表 174
6.2.4 添加、修改表记录 177
6.2.5 查询表记录 178
6.2.6 修改表结构 178
6.3 Data Modeling的基本操作 179
6.3.1 建立 ER模型 179
6.3.2 导入 ER模型 184
6.4 Server Administration的基本操作 185
6.4.1 管理 MySQL用户 186
6.4.2 备份 MySQL数据库 188
6.4.3 还原 MySQL数据库 191
6.5 小结 192
第7章 SQL性能优化 193
7.1 优化简介 193
7.2 MySQL Query Optimizer概述 194
7.3 SQL 语句优化的基本思路 194
7.4 利用 EXPLAIN分析查询语句 196
7.4.1 EXPLAIN语句的基本语法 196
7.4.2 EXPLAIN语句分析实例 208
7.5 利用 Profiling分析查询语句 212
7.6 合理地使用索引 216
7.6.1 索引对查询速度的影响 216
7.6.2 如何使用索引查询 217
7.7 不同类型 SQL语句优化方法 220
7.7.1 优化 INSERT语句 220
7.7.2 优化 ORDER BY语句 221
7.7.3 优化 GROUP BY语句 222
7.7.4 优化嵌套查询 223
7.7.5 优化 OR条件. 224
7.7.6 优化插入记录的速度 226
7.8 优化数据库结构 228
7.8.1 将字段很多的表分解成多个表 228
7.8.2 增加中间表 230
7.8.3 增加冗余字段 231
7.9 分析表、检查表和优化表 232
7.9.1 分析表 232
7.9.2 检查表 233
7.9.3 优化表 233
7.10 小结 234
第8章 MySQL服务器性能优化 235
8.1 MySQL源码安装的性能优化 235
8.2 MySQL服务器配置优化 238
8.2.1 查看性能参数的方法 238
8.2.2 key_buffer_size的设置 243
8.2.3 table_cache的设置 246
8.2.4 内存参数的设置 248
8.2.5 日志和事务参数的设置 252
8.2.6 存储和 I/O相关参数的设置 253
8.2.7 其他重要参数的设置 254
8.3 MySQL日志设置优化 256
8.4 MySQL I/O设置优化. 257
8.5 MySQL并发设置优化 259
8.6 线程、Table Cache和临时表的优化 261
8.6.1 线程的优化 261
8.6.2 关于 table_cache相关的优化 262
8.6.3 关于临时表的优化 263
8.7 小结 264
第 9章 MySQL性能监控 265
9.1 基本监控系统方法 265
9.1.1 ps命令 265
9.1.2 top命令 266
9.1.3 vmstat命令 268
9.1.4 mytop命令 269
9.1.5 sysstat工具 272
9.2 开源监控利器 Nagios实战 277
9.2.1 安装 Nagios之前的准备工作 277
9.2.2 安装 Nagios主程序 279
9.2.3 整合 Nagios到Apache服务 280
9.2.4 安装 Nagios插件包 284
9.2.5 监控服务器的 CPU、负载、磁盘 I/O使用情况 286
9.2.6 配置 Nagios监控 MySQL服务器 291
9.3 MySQL监控利器 Cacti实战 293
9.3.1 Cacti工具的安装 294
9.3.2 Cacti监控 MySQL服务器 299
9.4 小结 304
第 10章 MySQL Replication 305
10.1 MySQL Replication概述 305
10.2 Windows环境下的 MySQL主从复制 306
10.2.1 复制前的准备工作 306
10.2.2 Windows环境下实现主从复制 306
10.2.3 Windows环境下主从复制测试 314
10.3 Linux环境下的 MySQL复制 315
10.3.1 下载并安装 MySQL 5.6 315
10.3.2 单机主从复制前的准备工作 316
10.3.3 mysqld_multi实现单机主从复制 320
10.3.4 不同服务器之间实现主从复制 328
10.3.5 MySQL 主要复制启动选项 329
10.3.6 指定复制的数据库或者表 330
10.4 查看 Slave的复制进度 338
10.5 日常管理和维护 339
10.5.1 了解服务器的状态 339
10.5.2 服务器复制出错的原因 340
10.6 切换主从服务器 343
10.7 小结 347
第 11章 MySQL Cluster实战 348
11.1 MySQL Cluster概述 348
11.1.1 MySQL Cluster基本概念 348
11.1.2 理解 MySQL Cluster节点 349
11.2 Linux环境下 MySQL Cluster安装和配置 350
11.2.1 安装 MySQL Cluster 7.2.8软件 352
11.2.2 管理节点配置步骤 357
11.2.3 配置 SQL节点和数据节点. 358
11.3 管理 MySQL Cluster 358
11.3.1 Cluster的启动 358
11.3.2 Cluster的测试 360
11.3.3 Cluster的关闭 363
11.4 维护 MySQL Cluster 363
11.4.1 Cluster的日志的管理 366
11.4.2 Cluster的联机备份 367
11.4.3 Cluster的数据恢复 368
11.5 Windows操作系统中配置 Cluster 369
11.6 小结 374
第 12章企业中 MySQL的高可用架构 375
12.1 MySQL高可用的简单介绍 375
12.2 MySQL主从复制 375
12.2.1 MySQL主从架构设计 376
12.2.2 配置环境 376
12.2.3 服务器的安装配置 376
12.2.4 LVS的安装配置 379
12.3 MySQL+DRBD+HA.381
12.3.1 什么是 DRBD 381
12.3.2 MySQL+DRBD+HA架构设计 382
12.3.3 配置环境 382
12.3.4 安装配置 Heartbeat 383
12.3.5 安装配置 DRBD 385
12.4 Lvs+Keepalived+MySQL单点写入主主同步方案 388
12.4.1 配置环境 388
12.4.2 Lvs+Keepalived的安装 393
12.4.3 Lvs+Keepalived的配置 394
12.4.4 Master和 Backup的启动 397
12.5 MMM高可用 MySQL方案 397
12.5.1 MMM的架构 398
12.5.2 配置环境 398
12.5.3 MMM的安装 402
12.5.4 Monitor服务器的配置 402
12.5.5 各个数据库服务器的配置 404
12.5.6 MMM的管理 404
12.6 小结 405
· · · · · · (
收起)