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

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.674 评价豆瓣读书
阅读
¥63.36¥48.51
今日特价截止至:2018-12-20 02:00:00了解详情

作品简介

《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》从数据库的基础、开发、优化、管理维护和架构5个方面对MySQL进行了详细的介绍,每一部分都独立成篇。基础篇主要适合于MySQL的初学者阅读,包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等内容。开发篇主要适合于MySQL的设计和开发人员阅读,内容包括表类型(存储引擎)的选择、选择合适的数据类型、字符集、索引的设计和使用、视图、存储过程和函数、触发器、事务控制和锁定语句、SQL中的安全问题、SQL Mode及相关问题、分区等。优化篇主要适合于开发人员和数据库管理员阅读,内容包括SQL优化、优化数据库对象、锁问题、优化MySQL Server、磁盘I/O问题、应用优化等。管理维护篇主要适合于数据库管理员阅读,内容包括MySQL高级安装和升级、MySQL中的常用工具、MySQL日志、备份与恢复、MySQL权限与安全、MySQL监控、MySQL常见问题和应用技巧等。架构篇主要适合高级数据库管理人员和数据库架构设计师阅读,包括MySQL复制、MySQL Cluster、高可用架构等内容。

《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》的作者都是MySQL方面的资深DBA。本书不但融入了他们丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有很强的实战性和可操作性。

《深入浅出MySQL:数据库开发、优化与管理维护(第2版)》内容实用,覆盖广泛,讲解由浅入深,适合数据库管理人员、数据库开发人员、系统维护人员、数据库初学者及其他数据库从业人员阅读,也适合用作大中专院校相关专业师生的参考用书和相关培训机构的培训教材。

唐汉明:网易公司技术部副总监。2000年加入网易公司,历任技术部高级DBA、软件开发组经理、DBA组经理等职位,曾负责多个大型核心数据库的管理维护,并作为核心成员参加了许多重要项目的设计实施,在数据库开发及管理维护等方面具有丰富的经验。

翟振兴:网易公司技术部高级DBA,具有Oracle OCP证书。曾参与某省级电力集团营销MIS系统的设计与开发工作,后逐渐转向数据库管理维护领域。加入网易公司后,负责公司多个核心数据库的管理维护工作,在数据库优化、开发支持等方面,积累了丰富的经验。

关宝军:网易技术部高级DBA。曾从事电信行业大型BOSS系统的开发及数据库管理维护工作。加入网易公司后,负责多个重要数据库管理维护,并参与了公司多个重要项目的计划、开发及实施。在数据库性能优化、问题诊断、集群技术应用等方面有丰富的实践经验。

王洪权:网易技术部DBA,具有Oracle 10g OCP,曾任职于某知名大型游戏公司,负责海量数据库的运维和优化,加入网易公司后,主要负责MySQL的运维管理工作,在MySQL性能优化、故障诊断和高可用系统架构方面有丰富的实战经验。

黄潇:2005年大学毕业后先从事Java开发,后转向数据库管理,2008年获得Oracle 10g OCP证书,2009年加入网易从事数据库维护工作,熟悉Oracle和MySQL的日常维护管理,爱好数据库优化,致力于做一名有意思的IT“民工”。

作品目录

  1. 深入浅出MySQL数据库开发、优化与管理维护(第2版)
  2. 前言
  3. 第一部分 基础篇
  4. 第1章 MySQL的安装与配置
  5. 1.1 MySQL的下载
  6. 1.1.1 在Windows平台下下载MySQL
  7. 1.1.2 在Linux平台下下载MySQL
  8. 1.2 MySQL的安装
  9. 1.2.1 在Windows平台下安装MySQL
  10. 1.2.2 在Linux平台下安装MySQL
  11. 1.3 MySQL的配置
  12. 1.3.1 Windows平台下配置MySQL
  13. 1.3.2 Linux平台下配置MySQL
  14. 1.4 启动和关闭MySQL服务
  15. 1.4.1 在Windows平台下启动和关闭MySQL服务
  16. 1.4.2 在Linux平台下启动和关闭MySQL服务
  17. 1.5 小结
  18. 第2章 SQL基础
  19. 2.1 SQL简介
  20. 2.2 (My)SQL使用入门
  21. 2.2.1 SQL分类
  22. 2.2.2 DDL语句
  23. 2.2.3 DML语句
  24. 2.2.4 DCL语句
  25. 2.3 帮助的使用
  26. 2.3.1 按照层次看帮助
  27. 2.3.2 快速查阅帮助
  28. 2.3.3 常用的网络资源
  29. 2.4 查询元数据信息
  30. 2.5 小结
  31. 第3章 MySQL支持的数据类型
  32. 3.1 数值类型
  33. 3.2 日期时间类型
  34. 3.3 字符串类型
  35. 3.3.1 CHAR和VARCHAR类型
  36. 3.3.2 BINARY和VARBINARY类型
  37. 3.3.3 ENUM类型
  38. 3.3.4 SET类型
  39. 3.4 小结
  40. 第4章 MySQL中的运算符
  41. 4.1 算术运算符
  42. 4.2 比较运算符
  43. 4.3 逻辑运算符
  44. 4.4 位运算符
  45. 4.5 运算符的优先级
  46. 4.6 小结
  47. 第5章 常用函数
  48. 5.1 字符串函数
  49. 5.2 数值函数
  50. 5.3 日期和时间函数
  51. 5.4 流程函数
  52. 5.5 其他常用函数
  53. 5.6 小结
  54. 第6章 图形化工具的使用
  55. 6.1 MySQL Workbench
  56. 6.1.1 SQL开发
  57. 6.1.2 数据建模
  58. 6.1.3 服务器管理
  59. 6.1.4 MySQL Utilities
  60. 6.2 phpMyAdmin
  61. 6.2.1 数据库管理
  62. 6.2.2 数据库对象管理
  63. 6.2.3 权限管理
  64. 6.2.4 导入导出数据
  65. 6.3 小结
  66. 第二部分 开发篇
  67. 第7章 表类型(存储引擎)的选择
  68. 7.1 MySQL存储引擎概述
  69. 7.2 各种存储引擎的特性
  70. 7.2.1 MyISAM
  71. 7.2.2 InnoDB
  72. 7.2.3 MEMORY
  73. 7.2.4 MERGE
  74. 7.2.5 TokuDB
  75. 7.3 如何选择合适的存储引擎
  76. 7.4 小结
  77. 第8章 选择合适的数据类型
  78. 8.1 CHAR与VARCHAR
  79. 8.2 TEXT与BLOB
  80. 8.3 浮点数与定点数
  81. 8.4 日期类型选择
  82. 8.5 小结
  83. 第9章 字符集
  84. 9.1 字符集概述
  85. 9.2 Unicode简述
  86. 9.3 汉字及一些常见字符集
  87. 9.4 怎样选择合适的字符集
  88. 9.5 MySQL支持的字符集简介
  89. 9.6 MySQL字符集的设置
  90. 9.6.1 服务器字符集和校对规则
  91. 9.6.2 数据库字符集和校对规则
  92. 9.6.3 表字符集和校对规则
  93. 9.6.4 列字符集和校对规则
  94. 9.6.5 连接字符集和校对规则
  95. 9.7 字符集的修改步骤
  96. 9.8 小结
  97. 第10章 索引的设计和使用
  98. 10.1 索引概述
  99. 10.2 设计索引的原则
  100. 10.3 BTREE索引与HASH索引
  101. 10.4 小结
  102. 第11章 视图
  103. 11.1 什么是视图
  104. 11.2 视图操作
  105. 11.2.1 创建或者修改视图
  106. 11.2.2 删除视图
  107. 11.2.3 查看视图
  108. 11.3 小结
  109. 第12章 存储过程和函数
  110. 12.1 什么是存储过程和函数
  111. 12.2 存储过程和函数的相关操作
  112. 12.2.1 创建、修改存储过程或者函数
  113. 12.2.2 删除存储过程或者函数
  114. 12.2.3 查看存储过程或者函数
  115. 12.2.4 变量的使用
  116. 12.2.5 定义条件和处理
  117. 12.2.6 光标的使用
  118. 12.2.7 流程控制
  119. 12.2.8 事件调度器
  120. 12.3 小结
  121. 第13章 触发器
  122. 13.1 创建触发器
  123. 13.2 删除触发器
  124. 13.3 查看触发器
  125. 13.4 触发器的使用
  126. 13.5 小结
  127. 第14章 事务控制和锁定语句
  128. 14.1 LOCK TABLE和UNLOCK TABLE
  129. 14.2 事务控制
  130. 14.3 分布式事务的使用
  131. 14.3.1 分布式事务的原理
  132. 14.3.2 分布式事务的语法
  133. 14.3.3 存在的问题
  134. 14.4 小结
  135. 第15章 SQL中的安全问题
  136. 15.1 SQL注入简介
  137. 15.2 应用开发中可以采取的应对措施
  138. 15.2.1 PrepareStatement+Bind-Variable
  139. 15.2.2 使用应用程序提供的转换函数
  140. 15.2.3 自己定义函数进行校验
  141. 15.3 小结
  142. 第16章 SQL Mode及相关问题
  143. 16.1 MySQL SQL Mode简介
  144. 16.2 SQL Mode的常见功能
  145. 16.3 常用的SQL Mode
  146. 16.4 SQL Mode在迁移中如何使用
  147. 16.5 小结
  148. 第17章 MySQL分区
  149. 17.1 分区概述
  150. 17.2 分区类型
  151. 17.2.1 Range分区
  152. 17.2.2 List 分区
  153. 17.2.3 Columns 分区
  154. 17.2.4 Hash分区
  155. 17.2.5 Key分区
  156. 17.2.6 子分区
  157. 17.2.7 MySQL分区处理NULL值的方式
  158. 17.3 分区管理
  159. 17.3.1 RANGE&LIST分区管理
  160. 17.3.2 HASH&KEY分区管理
  161. 17.4 小结
  162. 第三部分 优化篇
  163. 第18章 SQL优化
  164. 18.1 优化SQL语句的一般步骤
  165. 18.1.1 通过show status命令了解各种SQL的执行频率
  166. 18.1.2 定位执行效率较低的SQL语句
  167. 18.1.3 通过EXPLAIN分析低效SQL的执行计划
  168. 18.1.4 通过show profile分析SQL
  169. 18.1.5 通过 trace分析优化器如何选择执行计划
  170. 18.1.6 确定问题并采取相应的优化措施
  171. 18.2 索引问题
  172. 18.2.1 索引的存储分类
  173. 18.2.2 MySQL如何使用索引
  174. 18.2.3 查看索引使用情况
  175. 18.3 两个简单实用的优化方法
  176. 18.3.1 定期分析表和检查表
  177. 18.3.2 定期优化表
  178. 18.4 常用SQL的优化
  179. 18.4.1 大批量插入数据
  180. 18.4.2 优化 INSERT语句
  181. 18.4.3 优化ORDER BY语句
  182. 18.4.4 优化GROUP BY语句
  183. 18.4.5 优化嵌套查询
  184. 18.4.6 MySQL如何优化OR条件
  185. 18.4.7 优化分页查询
  186. 18.4.8 使用SQL提示
  187. 18.5 常用SQL技巧
  188. 18.5.1 正则表达式的使用
  189. 18.5.2 巧用RAND()提取随机行
  190. 18.5.3 利用GROUP BY的WITH ROLLUP子句
  191. 18.5.4 用BIT GROUP FUNCTIONS做统计
  192. 18.5.5 数据库名、表名大小写问题
  193. 18.5.6 使用外键需要注意的问题
  194. 18.6 小结
  195. 第19章 优化数据库对象
  196. 19.1 优化表的数据类型
  197. 19.2 通过拆分提高表的访问效率
  198. 19.3 逆规范化
  199. 19.4 使用中间表提高统计查询速度
  200. 19.5 小结
  201. 第20章 锁问题
  202. 20.1 MySQL锁概述
  203. 20.2 MyISAM表锁
  204. 20.2.1 查询表级锁争用情况
  205. 20.2.2 MySQL表级锁的锁模式
  206. 20.2.3 如何加表锁
  207. 20.2.4 并发插入(Concurrent Inserts)
  208. 20.2.5 MyISAM的锁调度
  209. 20.3 InnoDB锁问题
  210. 20.3.1 背景知识
  211. 20.3.2 获取 InnoDB行锁争用情况
  212. 20.3.3 InnoDB的行锁模式及加锁方法
  213. 20.3.4 InnoDB行锁实现方式
  214. 20.3.5 Next-Key锁
  215. 20.3.6 恢复和复制的需要,对 InnoDB锁机制的影响
  216. 20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异
  217. 20.3.8 什么时候使用表锁
  218. 20.3.9 关于死锁
  219. 20.4 小结
  220. 第21章 优化MySQL Server
  221. 21.1 MySQL体系结构概览
  222. 21.2 MySQL内存管理及优化
  223. 21.2.1 内存优化原则
  224. 21.2.2 MyISAM内存优化
  225. 21.2.3 InnoDB内存优化
  226. 21.2.4 调整用户服务线程排序缓存区
  227. 21.3 InnoDB log机制及优化
  228. 21.3.1 InnoDB重做日志
  229. 21.3.2 innodb_flush_log_at_trx_commit的设置
  230. 21.3.3 设置 log file size,控制检查点
  231. 21.3.4 调整 innodb_log_buffer_size
  232. 21.4 调整MySQL并发相关的参数
  233. 21.4.1 调整max_connections,提高并发连接
  234. 21.4.2 调整back_log
  235. 21.4.3 调整 table_open_cache
  236. 21.4.4 调整 thread_cache_size
  237. 21.4.5 innodb_lock_wait_timeout的设置
  238. 21.5 小结
  239. 第22章 磁盘I/O问题
  240. 22.1 使用磁盘阵列
  241. 22.1.1 常见RAID级别及其特性
  242. 22.1.2 如何选择RAID级别
  243. 22.2 虚拟文件卷或软RAID
  244. 22.3 使用Symbolic Links分布 I/O
  245. 22.4 禁止操作系统更新文件的atime属性
  246. 22.5 用裸设备(Raw Device)存放 InnoDB的共享表空间
  247. 22.6 调整I/O调度算法
  248. 22.7 RAID卡电池充放电问题
  249. 22.7.1 什么是RAID卡电池充放电
  250. 22.7.2 RAID卡缓存策略
  251. 22.7.3 如何应对RAID卡电池充放电带来的 I/O性能波动
  252. 22.8 NUMA架构优化
  253. 22.9 小结
  254. 第23章 应用优化
  255. 23.1 使用连接池
  256. 23.2 减少对MySQL的访问
  257. 23.2.1 避免对同一数据做重复检索
  258. 23.2.2 使用查询缓存
  259. 23.2.3 增加CACHE层
  260. 23.3 负载均衡
  261. 23.3.1 利用MySQL复制分流查询操作
  262. 23.3.2 采用分布式数据库架构
  263. 23.4 其他优化措施
  264. 23.5 小结
  265. 第四部分 管理维护篇
  266. 第24章 MySQL高级安装和升级
  267. 24.1 Linux/UNIX平台下的安装
  268. 24.1.1 安装包比较
  269. 24.1.2 安装RPM包
  270. 24.1.3 安装二进制包
  271. 24.1.4 安装源码包
  272. 24.1.5 参数设置方法
  273. 24.2 源码包安装的性能考虑
  274. 24.2.1 去掉不需要的模块
  275. 24.2.2 只选择要使用的字符集
  276. 24.2.3 使用静态编译以提高性能
  277. 24.3 升级MySQL
  278. 24.4 MySQL降级
  279. 24.5 小结
  280. 第25章 MySQL中的常用工具
  281. 25.1 mysql(客户端连接工具)
  282. 25.1.1 连接选项
  283. 25.1.2 客户端字符集选项
  284. 25.1.3 执行选项
  285. 25.1.4 格式化选项
  286. 25.1.5 错误处理选项
  287. 25.2 myisampack(MyISAM表压缩工具)
  288. 25.3 mysqladmin(MySQL管理工具)
  289. 25.4 mysqlbinlog(日志管理工具)
  290. 25.5 mysqlcheck(MyISAM表维护工具)
  291. 25.6 mysqldump(数据导出工具)
  292. 25.6.1 连接选项
  293. 25.6.2 输出内容选项
  294. 25.6.3 输出格式选项
  295. 25.6.4 字符集选项
  296. 25.6.5 其他常用选项
  297. 25.7 mysqlhotcopy(MyISAM表热备份工具)
  298. 25.8 mysqlimport(数据导入工具)
  299. 25.9 mysqlshow(数据库对象查看工具)
  300. 25.10 perror(错误代码查看工具)
  301. 25.11 replace(文本替换工具)
  302. 25.12 小结
  303. 第26章 MySQL日志
  304. 26.1 错误日志
  305. 26.2 二进制日志
  306. 26.2.1 日志的位置和格式
  307. 26.2.2 日志的读取
  308. 26.2.3 日志的删除
  309. 26.2.4 其他选项
  310. 26.3 查询日志
  311. 26.3.1 日志的位置和格式
  312. 26.3.2 日志的读取
  313. 26.4 慢查询日志
  314. 26.4.1 文件位置和格式
  315. 26.4.2 日志的读取
  316. 26.5 mysqlsla简介
  317. 26.6 小结
  318. 第27章 备份与恢复
  319. 27.1 备份/恢复策略
  320. 27.2 逻辑备份和恢复
  321. 27.2.1 备份
  322. 27.2.2 完全恢复
  323. 27.2.3 基于时间点恢复
  324. 27.2.4 基于位置恢复
  325. 27.3 物理备份和恢复
  326. 27.3.1 冷备份
  327. 27.3.2 热备份
  328. 27.4 表的导入导出
  329. 27.4.1 导出
  330. 27.4.2 导入
  331. 27.5 小结
  332. 第28章 MySQL权限与安全
  333. 28.1 MySQL权限管理
  334. 28.1.1 权限系统的工作原理
  335. 28.1.2 权限表的存取
  336. 28.1.3 账号管理
  337. 28.2 MySQL安全问题
  338. 28.2.1 操作系统相关的安全问题
  339. 28.2.2 数据库相关的安全问题
  340. 28.3 其他安全设置选项
  341. 28.3.1 old-passwords
  342. 28.3.2 safe-user-create
  343. 28.3.3 secure-auth
  344. 28.3.4 skip-grant-tables
  345. 28.3.5 skip-network
  346. 28.3.6 skip-show-database
  347. 28.4 小结
  348. 第29章 MySQL监控
  349. 29.1 如何选择一个监控方案
  350. 29.1.1 选择何种监控方式
  351. 29.1.2 如何选择适合自己的监控工具
  352. 29.2 常用网络监控工具
  353. 29.2.1 Cacti简介
  354. 29.2.2 Nagios简介
  355. 29.2.3 Zabbix简介
  356. 29.2.4 几种常见开源软件比较
  357. 29.3 Zabbix 部署
  358. 29.3.1 Zabbix Server软件安装
  359. 29.3.2 Zabbix Server配置与启动
  360. 29.3.3 配置Zabbix Web服务端
  361. 29.3.4 Zabbix Agent安装和配置
  362. 29.3.5 MPM插件介绍和部署
  363. 29.3.6 Zabbix Web端操作
  364. 29.4 小结
  365. 第30章 MySQL常见问题和应用技巧
  366. 30.1 忘记MySQL的root密码
  367. 30.2 如何处理MyISAM存储引擎的表损坏
  368. 30.2.1 方法一:使用myisamchk工具
  369. 30.2.2 方法二:使用SQL命令
  370. 30.3 MyISAM表超过 4GB无法访问的问题
  371. 30.4 数据目录磁盘空间不足的问题
  372. 30.4.1 对于MyISAM存储引擎的表
  373. 30.4.2 对于 InnoDB存储引擎的表
  374. 30.5 DNS反向解析的问题
  375. 30.6 mysql.sock丢失后如何连接数据库
  376. 30.7 同一台服务器运行多个MySQL数据库
  377. 30.8 客户端怎么访问内网数据库
  378. 30.8.1 方法一:使用SecureCRT客户端工具
  379. 30.8.2 方法二:使用MySQL Proxy工具
  380. 30.9 小结
  381. 第五部分 架构篇
  382. 第31章 MySQL复制
  383. 31.1 复制概述
  384. 31.1.1 复制中的各类文件
  385. 31.1.2 三种复制方式
  386. 31.1.3 复制的3种常见架构
  387. 31.2 复制搭建过程
  388. 31.2.1 异步复制
  389. 31.2.2 半同步复制(Semi-synchronous Replication)
  390. 31.3 主要复制启动选项
  391. 31.3.1 log-slave-updates
  392. 31.3.2 master-connect-retry
  393. 31.3.3 read-only
  394. 31.3.4 指定复制的数据库或者表
  395. 31.3.5 slave-skip-errors
  396. 31.4 日常管理维护
  397. 31.4.1 查看从库状态
  398. 31.4.2 主从库同步维护
  399. 31.4.3 从库复制出错的处理
  400. 31.4.4 log event entry exceeded max_allowed_packet的处理
  401. 31.4.5 多主复制时的自增长变量冲突问题
  402. 31.4.6 查看从库的复制进度
  403. 31.4.7 如何提高复制的性能
  404. 31.5 切换主从库
  405. 31.6 小结
  406. 第32章 MySQL Cluster
  407. 32.1 MySQL Cluster架构
  408. 32.2 MySQL Cluster的配置
  409. 32.2.1 MySQL Cluster的版本支持
  410. 32.2.2 管理节点配置步骤
  411. 32.2.3 SQL节点和数据节点的配置
  412. 32.3 开始使用Cluster
  413. 32.3.1 Cluster的启动
  414. 32.3.2 Cluster的测试
  415. 32.3.3 Cluster的关闭
  416. 32.4 维护Cluster
  417. 32.4.1 数据备份
  418. 32.4.2 数据恢复
  419. 32.4.3 日志管理
  420. 32.5 小结
  421. 第33章 高可用架构
  422. 33.1 MMM架构
  423. 33.2 MHA架构
  424. 33.3 安装部署MHA
  425. 33.3.1 安装MHA node(在所有的MySQL服务器上安装)
  426. 33.3.2 安装MHA Manager
  427. 33.3.3 配置SSH登录无密码验证
  428. 33.3.4 搭建主从复制环境
  429. 33.3.5 配置MHA
  430. 33.3.6 检查SSH的配置
  431. 33.3.7 检查整个复制环境状况
  432. 33.3.8 检查MHA Manager的状态
  433. 33.3.9 开启MHA Manager监控
  434. 33.3.10 查看启动日志
  435. 33.3.11 关闭MHA Manager监控
  436. 33.3.12 VIP 配置
  437. 33.3.13 自动Failover
  438. 33.3.14 网络问题触发的Failover操作
  439. 33.3.15 手动Failover
  440. 33.3.16 在线进行切换
  441. 33.3.17 修复宕机的Master
  442. 33.4 小结

评论

载入中

热门划线

喜欢这本书的人也喜欢