深入浅出MySQL数据库开发、优化与管理维护(word版)

目录:
第一篇 开发篇 8
第1章 帮助的使用 8
1.1 按照层次看帮助 8
1.2 快速查阅帮助 10
第2章 表类型(存储引擎)的选择 11
2.1 Mysql存储引擎概述 11
2.2 各种存储引擎的特性 11
2.3 如何选择合适的存储引擎 12
第3章 选择合适的数据类型 13
3.1 选择数据类型的基本原则 13
3.2 固定长度数据列与可变长度的数据列 13
3.2.1 char与varchar 13
3.2.2 text和blob 15
3.3 浮点数与定点数 15
第4章 字符集 16
4.1 字符集概述 16
4.2 Mysql支持的字符集简介 17
4.3 Unicode简述 17
4.4 怎样选择合适的字符集 17
4.5 Mysql字符集的设置 18
第5章 索引的设计和使用 18
5.1 Mysql索引概述 18
5.2 设计索引的原则 19
5.3 btree索引与hash索引 20
5.4 Mysql如何使用索引 21
第6章 锁机制和事务控制 21
6.1 如何加锁 21
6.2 死锁 22
6.3 事务控制 22
第7章 SQL中的安全问题 29
7.1 SQL注入简述 29
7.2 开发中可以采取的措施 30
7.2.1 prepareStatement + Bind-variable 30
7.2.2 使用应用程序提供的转换函数: 31
7.2.3 自己定义函数进行校验 31
第8章 SQL Mode及相关问题 31
8.1 Mysql SQL Mode简介 31
8.2 SQL Mode与可移植性 33
8.3 SQL Mode与数据效验 34
第9章 常用SQL技巧 34
9.1 检索包含最大/最小值的行 34
9.2 巧用rand()/rand(n)提取随机行 34
9.3 利用group by 的with rollup子句做统计 35
9.4 用bit group functions做统计 36
第10章 其他需注意的问题 39
10.1 数据库名、表名大小写问题 39
10.2 使用外键需注意的地方 41
第二篇 优化篇 45
第11章 SQL优化 45
11.1 优化SQL的一般步骤 45
11.1.1 通过show status和应用特点了解各种SQL的执行频率 45
11.1.2 定位执行效率较低的SQL语句: 46
11.1.3 通过EXPLAIN分析低效SQL的执行计划: 46
11.1.4 确定问题,并采取相应的优化措施: 47
11.2 索引问题 48
11.2.1 索引的存储分类 48
10.2.2 MySQL如何使用索引 49
10.2.3 查看索引使用情况 49
11.3 两个简单实用的优化方法 50
11.3.1 定期分析表: 50
11.3.2 使用optimize table: 50
11.4 常用SQL的优化 51
11.4.1 大批量插入数据: 51
11.4.2 优化insert语句: 52
11.4.3 优化group by语句: 52
11.4.4 优化order by语句: 52
11.4.5 优化join语句: 53
11.4.6 mysql如何优化or条件: 54
11.4.7 查询优先还是更新(insert、update、delete)优先: 54
11.4.8 使用SQL提示: 55
11.5 其他优化措施 56
第12章 优化数据库对象 56
12.1 优化表的数据类型 56
12.2 通过拆分,提高表的访问效率 57
12.3 逆规范化 57
12.4 使用冗余统计表 57
12.5 选择更合适的表类型 58
第13章 锁问题 58
13.1 获取锁等待情况 58
13.2 什么情况下使用表锁 59
13.3 什么情况下使用行锁 59
13.4 insert …select …带来的问题 60
13.5 next-key锁对并发插入的影响 61
13.6 隔离级别对并发插入的影响 61
13.7 如何减少锁冲突 62
第14章 优化Mysql Server 63
14.1 查看Mysql server当前参数 63
14.2 影响Mysql性能的重要参数 63
14.2.1 key_buffer_size的设置 63
14.2.2 table_cache的设置 65
14.2.3 innodb_buffer_pool_size的设置: 65
14.2.4 innodb_flush_log_at_trx_commit的设置: 65
14.2.5 innodb_additional_mem_pool_size: 66
14.2.6 innodb_table_locks: 66
14.2.7 innodb_lock_wait_timeout: 66
14.2.8 innodb_support_xa: 67
14.2.9 innodb_doublewrite: 67
14.2.10 innodb_log_buffer_size: 67
14.2.11 innodb_log_file_size: 67
第15章 I/O问题 67
15.1 使用磁盘阵列或虚拟文件卷分布I/O 68
15.2 使用Symbolic Links分布I/O 68
第16章 应用优化 69
16.1 使用连接池 69
16.2 减少对Mysql的访问 70
16.2.1 避免对同一数据做重复检索: 70
16.2.2 使用mysql query cache: 70
16.2.3 加cache层: 71
16.3 负载均衡 71
16.3.1 利用mysql 复制分流查询操作: 71
16.3.2 采用分布式数据库架构: 71
第三篇 管理维护篇 73
第17章 mysql安装升级 73
17.1 安装 73
17.1.1 安装方法比较 73
17.1.2 rpm安装步骤 74
17.1.3 二进制安装步骤 74
17.2 源码安装步骤 75
17.3 源码安装的性能考虑: 75
17.3.1 去掉不需要的模块: 75
17.3.2 只选择要使用的字符集: 76
17.3.3 使用pgcc编译: 76
17.3.4 使用静态编译以提高性能: 77
17.4 mysql升级 77
17.5 mysql降级 78
第18章 Mysql日志管理 78
18.1 错误日志: 78
18.2 BINLOG: 79
18.3 查询日志 80
18.4 慢查询日志: 80
第19章 数据备份与恢复: 81
19.1 备份/恢复策略: 81
19.2 冷备份: 81
19.3 逻辑备份: 81
19.4 单个表的备份: 82
19.5 使用备份工具ibbackup: 82
19.6 时间点恢复: 83
19.7 位置恢复: 84
19.8 MyISAM表修复: 84
第20章 Mysql安全: 85
20.1 正确设置目录权限: 85
20.2 尽量避免以root权限运行mysql: 85
20.3 删除匿名帐号: 85
20.4 给mysql root帐号设置口令: 86
20.5 设置安全密码并定期修改: 86
20.6 只授予帐号必须的权限: 86
20.7 除root外,任何用户不应有mysql库user表的存取权限: 86
20.8 不要把FILE、PROCESS 或 SUPER权限授予管理员以外的帐号: 86
20.9 load data local带来的安全问题: 87
20.10 尽量避免通过symlinks访问表: 88
20.11 使用merge存储引擎潜藏的安全漏洞: 88
20.12 防止DNS欺骗: 88
20.13 drop table命令并不收回以前的相关访问授权: 88
20.14 使用SSL: 88
20.15 如果可能,给所有用户加上访问IP限制: 90
20.16 严格控制操作系统帐号和权限: 90
20.17 增加防火墙: 90
20.18 其他安全设置选项: 90
20.18.1 allow-suspicious-udfs: 90
20.18.2 old-passwords: 90
20.18.3 safe-user-create: 91
20.18.4 secure-auth: 91
20.18.5 skip-grant-tables: 91
20.18.6 skip-networking: 91
20.18.7 skip-show-database: 91
第21章 Mysql复制: 92
21.1 Mysql复制概述: 92
21.2 安装配置: 92
21.3 日常管理维护: 93
21.3.1 经常查看slave状态 93
21.3.2 怎样强制主服务器阻塞更新直到从服务器同步? 94
21.3.3 master执行的语句在slave上执行失败怎么办? 94
21.3.4 Slave上出现log event entry exceeded max_allowed_packet错误怎么办? 94
21.3.5 多主复制时,自动增长变量的冲突问题 95
21.3.6 怎么样知道slave上现在复制到什么地方了 95
21.4 需要注意的问题: 95
第22章 Mysql Cluster: 95
22.1 Mysql Cluster概述: 95
22.2 Mysql Cluster架构: 96
22.3 安装配置: 96
22.3.1 管理节点配置步骤: 96
22.3.2 sql节点和数据节点的配置: 98
22.4 管理维护: 98
22.4.1 Cluster的启动 98
22.4.2 Cluster的关闭 99
22.5 数据备份和恢复: 99
第23章 Oracle向Mysql数据迁移: 100
23.1 数据类型的差异: 100
23.2 利用导出文本迁移: 100
23.2.1 导出为insert sql文本 100
23.2.2 导出为固定格式文本 101
23.3 利用工具软件迁移: 102
23.4 使用DBA组开发的迁移工具: 102
23.5 数据迁移常见问题: 103
23.5.1 字符集问题: 103
23.5.2 特殊字符处理: 103
23.5.3 日期字段的处理: 103
23.5.4 如何使迁移过程不被SQL错误中断: 104
23.5.5 如何查找产生warnings的原因: 104
第24章 应急处理: 104
24.1 一般处理流程: 104
24.2 忘记root密码: 105
24.3 表损坏如何处理: 105
24.4 MyISAM表超过4G无法访问: 106
24.5 数据目录磁盘空间不足怎么办? 106
24.6 如何禁止DNS反向解析? 107
第25章 Mysql管理中一些常用的命令和技巧: 107
25.1 参数设置方法: 107
25.2 mysql.sock丢失后怎么连接数据库? 107
25.3 同一台机器运行多个mysql: 108
25.4 查看用户权限: 109
25.5 修改用户密码: 110
25.6 怎样灵活的指定连接的主机: 111
25.7 到底匹配哪个符合条件的用户: 111
25.8 不进入mysql,怎样运行sql语句? 112
25.9 客户端怎么访问内网数据库? 113

1. 本站所有文章及资源来源于用户上传和网络,如有侵权请联系站长处理!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律,否则后果自负!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

中国站长社区 » 深入浅出MySQL数据库开发、优化与管理维护(word版)

发表评论