MySQL管理之道(第2版)

MySQL管理之道(第2版)

性能调优、高可用与监控

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
免费试读
¥30.00¥8.99
今日特价截止至:2019-10-20 02:00:00了解详情

作品简介

对于数据库爱好者来讲,MySQL是非常适合研究的,因为它的代码、协议及外围配套工具具有开放性。国内有一大批在各个企业成功实施过MySQL的优秀工程师,在完成工作之余,他们还积累了丰富的知识和经验,并提炼总结著成书籍,以帮助其他人,本书作者就是其中之一。

本书的第1版帮助了不少人入门MySQL,本书中内容以实战为导向,所有内容均来自于笔者多年实践经验的总结和对新知识的拓展,同时也针对运维人员。DBA等相关工作者会遇到的有代表性的疑难问题给出了实用的情景模拟,并给出了解决方案。不论你目前有没有遇到过此类问题,相信对你以后处理相关问题都会有所借鉴。本书适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。

贺春旸,从事数据库管理工作多年,有管理和维护高并发海量数据的经验,曾经任职于中国移动飞信、国内某知名电商,致力于MySQL、Linux等开源技术的研究,在51CTO博客上公开发表数据库文章上百篇,现任职于机锋安卓市场,负责MySQl性能调优和架构设计。

作品目录

  1. 推荐序:飞跃的第2版
  2. 前言
  3. 第1章 MariaDB架构与历史
  4. 1.1 MariaDB的介绍
  5. 1.2 MariaDB和MySQL的兼容性
  6. 1.3 MariaDB 10.0新增的功能
  7. 1.3.1 更多的存储引擎
  8. 1.3.2 速度的提升
  9. 1.3.3 扩展和新功能
  10. 1.4 如何将MySQL迁移至MariaDB
  11. 1.5 使用二进制包安装MariaDB 10.1企业版
  12. 1.6 总结
  13. 第2章 MySQL 5.7与MariaDB 10.1的新特性
  14. 2.1 性能提升
  15. 2.2 安全性的提升
  16. 2.2.1 默认开启SSL
  17. 2.2.2 不再明文显示用户密码
  18. 2.2.3 sql_mode的改变
  19. 2.3 InnoDB存储引擎的提升
  20. 2.3.1 更改索引名字时不会锁表
  21. 2.3.2 在线DDL修改varchar字段属性时不锁表
  22. 2.3.3 InnoDB/MyisAM存储引擎支持中文全文索引
  23. 2.3.4 InnoDB Buffer Pool预热改进
  24. 2.3.5 在线调整innodb_Buffer_Pool_Size不用重启mysql进程
  25. 2.3.6 回收(收缩)undo log回滚日志物理文件空间
  26. 2.3.7 InnoDB提供通用表空间
  27. 2.3.8 创建InnoDB独立表空间指定存放路径
  28. 2.3.9 迁移单独一张InnoDB表到远程服务器
  29. 2.3.10 修改InnoDB redo log事务日志文件大小更人性化
  30. 2.3.11 死锁可以打印到错误日志里
  31. 2.3.12 支持InnoDB只读事务
  32. 2.3.13 支持InnoDB表空间数据碎片整理
  33. 2.4 JSON格式的支持
  34. 2.4.1 支持用JSON格式存储数据
  35. 2.4.2 动态列支持用JSON格式存储数据
  36. 2.5 支持虚拟列(函数索引)
  37. 2.5.1 MySQL 5.7支持函数索引
  38. 2.5.2 MariaDB 10.0/10.1支持函数索引
  39. 2.6 功能提升
  40. 2.6.1 支持杀死慢的SQL语句
  41. 2.6.2 支持一张表有多个INSERT/DELETE/UPDATE触发器
  42. 2.6.3 引入线程池(Thread Pool)技术
  43. 2.6.4 提供审计日志功能
  44. 2.6.5 支持explain update
  45. 2.6.6 在MySQL 5.7中按Ctrl+C组合键不会退出客户端
  46. 2.6.7 可将错误日志打印到系统日志文件中
  47. 2.6.8 支持创建角色
  48. 2.6.9 支持TokuDB存储引擎
  49. 2.7 优化器改进
  50. 2.7.1 针对子查询select采用半连接优化
  51. 2.7.2 优化派生子查询
  52. 2.7.3 优化排序limit
  53. 2.7.4 优化IN条件表达式
  54. 2.7.5 优化union all
  55. 2.7.6 支持索引下推优化
  56. 2.7.7 支持Multi Range Read索引优化
  57. 2.7.8 支持Batched Key Access(BKA)索引优化
  58. 2.7.9 支持Hash Join索引优化
  59. 2.8 半同步复制改进
  60. 2.8.1 半同步复制简介
  61. 2.8.2 半同步复制的安装配置
  62. 2.8.3 参数说明
  63. 2.8.4 功能测试
  64. 2.8.5 性能测试
  65. 2.9 GTID复制改进
  66. 2.9.1 GTID复制概述
  67. 2.9.2 在MySQL 5.6的GTID模式下同步复制报错不能跳过的解决方法
  68. 2.9.3 MySQL 5.7中GTID复制的改进
  69. 2.9.4 GTID复制的陷阱
  70. 2.9.5 MariaDB 10.1中GTID复制的改进
  71. 2.9.6 GTID的使用方式不同
  72. 2.10 MySQL 5.6/5.7从库崩溃安全恢复
  73. 2.11 MariaDB 10.0/10.1从库崩溃安全恢复
  74. 2.12 slave从库多线程复制
  75. 2.13 slave支持多源复制
  76. 2.14 MySQL 5.7设置同步复制过滤不用重启mysql服务进程
  77. 2.15 小结
  78. 第3章 故障诊断
  79. 3.1 影响MySQL性能的因素
  80. 3.2 系统性能评估标准
  81. 3.2.1 影响Linux服务器性能的因素
  82. 3.2.2 系统性能评估指标
  83. 3.2.3 开源监控和评估工具介绍
  84. 3.3 故障与处理
  85. 3.3.1 连接数过多导致程序连接报错的原因
  86. 3.3.2 记录子查询引起的宕机
  87. 3.3.3 诊断事务量突高的原因
  88. 3.3.4 谨慎设置binlog_format=MIXED
  89. 3.3.5 未设置swap分区导致内存耗尽,主机死机
  90. 3.3.6 MySQL故障切换之事件调度器注意事项
  91. 3.3.7 人工误删除InnoDB ibdata数据文件,如何恢复
  92. 3.3.8 update忘加where条件误操作恢复(模拟Oracle闪回功能)
  93. 3.3.9 delete忘加where条件误操作恢复(模拟Oracle闪回功能)
  94. 第4章 同步复制报错故障处理
  95. 4.1 最常见的3种故障
  96. 4.1.1 在master上删除一条记录时出现的故障
  97. 4.1.2 主键重复
  98. 4.1.3 在master上更新一条记录,而slave上却找不到
  99. 4.2 特殊情况:slave的中继日志relay-log损坏
  100. 4.3 人为失误
  101. 4.4 避免在master上执行大事务
  102. 4.5 slave_exec_mode参数可自动处理同步复制错误
  103. 4.6 如何验证主从数据一致
  104. 4.7 binlog_ignore_db引起的同步复制故障
  105. 4.8 MySQL5.5.19/20同步一个Bug
  106. 4.9 恢复slave从机上的某几张表的简要方法
  107. 4.10 如何干净地清除slave同步信息
  108. 第5章 性能调优
  109. 5.1 表设计
  110. 5.2 字段类型的选取
  111. 5.2.1 数值类型
  112. 5.2.2 字符类型
  113. 5.2.3 时间类型
  114. 5.2.4 小技巧:快速修改表结构
  115. 5.2.5 pt-online-schema-change在线更改表结构
  116. 5.2.6 MySQL5.6在线DDL更改表测试
  117. 5.3 采用合适的锁机制
  118. 5.3.1 表锁的演示
  119. 5.3.2 行锁的演示
  120. 5.3.3 InnoDB引擎与MyISAM引擎的性能对比
  121. 5.4 选择合适的事务隔离级别
  122. 5.4.1 事务的概念
  123. 5.4.2 事务的实现
  124. 5.4.3 事务隔离级别介绍
  125. 5.5 SQL优化与合理利用索引
  126. 5.5.1 如何定位执行很慢的SQL语句
  127. 5.5.2 SQL优化案例分析
  128. 5.5.3 合理使用索引
  129. 5.6 my.cnf配置文件调优
  130. 5.6.1 per_thread_buffers优化
  131. 5.6.2 global_buffers优化
  132. 5.6.3 Query Cache在不同环境下的使用
  133. 5.6.4 tuning-primer.sh性能调试工具的使用
  134. 5.6.5 72 GB内存的my.cnf配置文件
  135. 5.6.6 谨慎使用分区表功能
  136. 5.7 MySQL5.6同步复制新特性详解
  137. 第6章 备份与恢复
  138. 6.1 冷备份
  139. 6.2 逻辑备份
  140. 6.2.1 mysqldump增加了一个重要参数
  141. 6.2.2 取代mysqldump的新工具mydumper
  142. 6.2.3 逻辑备份全量、增量备份脚本
  143. 6.3 热备份与恢复
  144. 第7章 高可用MHA架构集群管理
  145. 7.1 MHA架构简介
  146. 7.1.1 master自动监控和故障转移
  147. 7.1.2 手工处理master故障转移
  148. 7.1.3 在线平滑切换
  149. 7.2 MHA配置安装
  150. 7.3 MHA故障切换演示
  151. 7.3.1 场景一:master自动监控和故障转移
  152. 7.3.2 场景二:master手工故障转移
  153. 7.3.3 场景三:在线平滑切换
  154. 7.4 MHA高可用架构总结
  155. 第8章 MySQL架构演进:“一主多从、读/写分离”
  156. 8.1 实现读/写分离的两种方式
  157. 8.2 主从同步延迟的判断标准
  158. 8.3 HAProxy感知MySQL主从同步延迟
  159. 8.4 读/写分离MariaDB MaxScale架构搭建演示
  160. 8.4.1 配置环境及安装介绍
  161. 8.4.2 基于connect方式的测试
  162. 8.4.3 基于statement方式(SQL解析)的测试
  163. 8.4.4 MaxScale延迟检测
  164. 8.5 读/写分离OneProxy介绍及架构搭建演示
  165. 8.5.1 OneProxy简介
  166. 8.5.2 OneProxy的功能及安装介绍
  167. 8.5.3 OneProxy读/写分离接入限制
  168. 第9章 Codership Galera Cluster集群架构搭建与管理
  169. 9.1 Codership Galera Cluster的特性和优缺点
  170. 9.2 Codership Galera Cluster的局限性
  171. 9.3 Codership Galera Cluster的工作原理
  172. 9.4 Codership Galera Cluster的配置
  173. 9.4.1 Codership Galera Cluster的配置环境及安装
  174. 9.4.2 功能测试
  175. 9.5 HAProxy结合Galera Cluster实现无单点秒级故障切换
  176. 第10章 OneProxy分库分表的搭建与管理
  177. 10.1 OneProxy分库分表的搭建
  178. 10.1.1 配置与安装
  179. 10.1.2 前端PHP/Java程序接入事项
  180. 10.2 OneProxy分库分表接入限制
  181. 10.3 OneProxy分库分表基本测试
  182. 10.3.1 分库分表的功能测试
  183. 10.3.2 分库分表的二级分区测试
  184. 10.3.3 分库分表的聚合测试
  185. 10.3.4 分库分表的插入测试
  186. 10.3.5 分库分表不支持跨库join的测试
  187. 10.3.6 分库分表不支持分布式事务的测试
  188. 10.3.7 分库分表不支持存储过程的测试
  189. 10.4 搭建OneProxy高可用故障切换HA
  190. 10.5 OneProxy黑名单SQL防火墙搭建测试
  191. 第11章 Lepus慢日志分析平台搭建与维护
  192. 11.1 Lepus基础组件的安装
  193. 11.2 安装percona-toolkit工具
载入中

热门划线

喜欢这本书的人也喜欢