本书针对 MySQL中高级用户,详细讲解 MySQL高级使用技术。书中详解了每一个知识点以及数据库操作的方法和技巧。本书注重实战操作,帮助读者循序渐进地掌握 MySQL中的各项高级技术。 本书主要括 MySQL架构介绍、MySQL权限与安全、MySQL备份与还原、MySQL的高级特性、MySQL锁定机制、使用 MySQL Workbench管理数据库、SQL性能优化、MySQL服务器性能优化、MySQL性能监控、MySQL Replication、MySQL Cluster实战、企业中 MySQL的高可用架构实战。同时,本书还提供了所有示例的源码,读者可以直接查看和调用。 本书适合有一定基础的 MySQL数据库学习者,MySQL数据库开发人员和 MySQL数据库管理人员,同时也能作为高等院校和培训学校相关专业师生的教学参考用书。
目录
第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
下载地址:
https://pan.baidu.com/s/1qc9wrSgy-oZsGiKv8IFohQ
-
如需提取码:
[打开微信]->[扫描下方二维码]->[关注数据与人] 输入"500074" 获取提取码
坚持电子书籍资源共享,感谢认同!
如果取消关注本公众号,即使再次关注,也将无法提供本服务,切记切记。