MySQL实战
全新正版 极速发货
¥
95.94
6.4折
¥
149.8
全新
库存38件
作者 陈臣
出版社 人民邮电出版社
ISBN 9787115610089
出版时间 2023-03
装帧 平装
开本 16开
定价 149.8元
货号 1202837049
上书时间 2024-12-04
商品详情
品相描述:全新
商品描述
作者简介 陈臣 甲骨文(Oracle)公司首席工程师,前vivo互联网数据库专家,有超过10年的数据库管理和架构经验,擅长MySQL数据库日常操作的原理剖析。公众号“MySQL实战”作者,博客园推荐博客博主iVictor,博客所有渠道阅读量超300万。 目录 第1章 MySQL入门、安装与服务的管理1 1.1 MySQL的历史1 1.2 MySQL的安装2 1.2.1 下载MySQL3 1.2.2 基于二进制包的安装8 1.2.3 基于源码包的安装14 1.2.4 配置文件的读取顺序19 1.3 MySQL服务的管理21 1.3.1 使用 etc init.d mysqld管理MySQL服务22 1.3.2 使用systemd管理MySQL服务27 1.4 本章总结33 第2章 复制34 2.1 复制的原理及搭建35 2.1.1 复制的搭建36 2.1.2 参考资料41 2.2 GTID复制41 2.2.1 GTID出现的背景41 2.2.2 GTID的搭建42 2.2.3 GTID的原理42 2.2.4 GTID的相关参数44 2.2.5 GTID的相关函数50 2.2.6 在线修改复制模式51 2.2.7 设置@@GLOBAL.GTID_PURGED时的注意事项54 2.2.8 参考资料55 2.3 半同步复制55 2.3.1 事务的两阶段提交协议56 2.3.2 半同步复制的原理57 2.3.3 半同步复制的安装58 2.3.4 半同步复制的注意事项60 2.3.5 半同步复制的常用参数60 2.4 并行复制63 2.4.1 并行复制方案63 2.4.2 如何开启并行复制71 2.4.3 参考资料71 2.5 多源复制72 2.5.1 多源复制的搭建72 2.5.2 多源复制搭建过程中的注意事项73 2.5.3 多源复制的管理74 2.6 延迟复制74 2.6.1 如何开启延迟复制75 2.6.2 如何使用延迟复制恢复误删的表75 2.6.3 延迟复制的总结77 2.7 本章总结77 第3章 深入解析binlog79 3.1 binlog的格式79 3.1.1 STATEMENT79 3.1.2 ROW80 3.1.3 MIXED81 3.2 如何解读binlog的内容82 3.2.1 解析STATEMENT格式的二进制日志82 3.2.2 解析ROW格式的二进制日志88 3.3 如何解读 relay log 的内容92 3.4 binlog 中的事件类型94 3.5 基于 python-mysql-replication 打造一个 binlog解析器101 3.6 本章总结109 第4章 深入MySQL的复制管理110 4.1 常见的管理操作110 4.1.1 查看主库的状态110 4.1.2 查看从库复制的状态111 4.1.3 搭建复制113 4.1.4 开启复制115 4.1.5 停止复制117 4.1.6 在主库上查看从库IP和端口信息117 4.1.7 查看实例当前拥有的binlog118 4.1.8 删除binlog118 4.1.9 查看binlog的内容118 4.1.10 RESET MASTER、RESET SLAVE和RESET SLAVE ALL的区别119 4.1.11 跳过指定事务120 4.1.12 操作不写入binlog121 4.1.13 判断主库的某个操作是否已经在从库上执行121 4.1.14 在线设置复制的过滤规则122 4.2 复制的监控123 4.2.1 连接123 4.2.2 事务重放125 4.2.3 多线程复制126 4.2.4 过滤规则128 4.2.5 组复制129 4.3 主从延迟129 4.3.1 如何分析主从延迟129 4.3.2 主从延迟的常见原因及解决方法132 4.3.3 如何解读Seconds_Behind_Master134 4.3.4 参考资料142 4.4 复制中的常见问题及解决方法142 4.4.1 I O线程连接不上主库142 4.4.2 server_id重复143 4.4.3 包的大小超过slave_max_allowed_packet的143 4.4.4 从库需要的binlog在主库上不存在144 4.4.5 从库的GTID多于主库的147 4.4.6 在执行插入操作时,提示专享键冲突149 4.4.7 在执行删除或更新操作时,提示记录不存在150 4.4.8 主从数据不一致150 4.5 本章总结150 第5章 备份152 5.1 mysqldump155 5.1.1 mysqldump的实现原理155 5.1.2 mysqldump的常用选项160 5.1.3 mysqldump的常见用法165 5.1.4 总结166 5.2 mydumper166 5.2.1 mydumper的安装167 5.2.2 mydumper的实现原理167 5.2.3 mydumper的参数解析170 5.2.4 myloader的参数解析177 5.2.5 mydumper和myloader的常见用法179 5.2.6 总结180 5.3 XtraBackup180 5.3.1 XtraBackup的安装181 5.3.2 基于源码分析XtraBackup的实现原理182 5.3.3 XtraBackup的常见用法192 5.3.4 Xtrabackup的重要参数205 5.3.5 XtraBackup的注意事项206 5.3.6 备份用户需要的权限207 5.3.7 参考资料208 5.4 克隆插件208 5.4.1 克隆插件的安装209 5.4.2 克隆插件的使用209 5.4.3 查看克隆操作的进度212 5.4.4 基于克隆数据搭建从库214 5.4.5 克隆插件的实现细节214 5.4.6 克隆插件的215 5.4.7 克隆插件与XtraBackup的异同216 5.4.8 克隆插件的参数解析216 5.4.9 参考资料217 5.5 MySQL Shell Dump & Load217 5.5.1 MySQL Shell Dump & Load的用法218 5.5.2 MySQL Shell Dump & Load的关键特性221 5.5.3 util.dumpInstance的实现原理221 5.5.4 util.dumpInstance的参数解析222 5.5.5 util.loadDump的参数解析224 5.5.6 MySQL Shell Dump & Load的注意事项226 5.5.7 参考资料226 5.6 使用XtraBackup搭建从库226 5.6.1 使用XtraBackup搭建从库的基本步骤227 5.6.2 基于从库备份搭建从库的注意事项230 5.6.3 设置GTID_PURGED的注意事项230 5.6.4 使用XtraBackup 8.0搭建从库的注意事项231 5.6.5 总结233 5.7 指定时间点(位置点)的恢复234 5.8 搭建binlog server236 5.8.1 基于mysqlbinlog搭建binlog server236 5.8.2 参考资料238 5.9 检测备份的有效性238 5.10 本章总结239 第6章 监控241 6.1 Zabbix242 6.1.1 安装Zabbix Server242 6.1.2 安装Zabbix Agent250 6.2 安装MySQL监控插件PMP251 6.3 深入理解PMP256 6.3.1 ss_get_mysql_stats.php源码分析258 6.3.2 基于ss_get_mysql_stats.php自定义监控项263 6.4 Zabbix常见问题定位及性能优化266 6.4.1 定位监控项的状态Not supported266 6.4.2 分区表268 6.4.3 Zabbix Server的参数优化270 6.4.4 Zabbix API273 6.4.5 参考资料278 6.5 PMM278 6.5.1 PMM的体系架构279 6.5.2 安装PMM Server280 6.5.3 安装PMM Client283 6.5.4 添加MySQL服务288 6.5.5 Query Analytics290 6.5.6 深入理解PMM Server292 6.5.7 设置告警297 6.5.8 PMM的常见问题299 6.5.9 参考资料305 6.6 MySQL中常用的监控指标306 6.6.1 连接相关306 6.6.2 Com相关307 6.6.3 Handler相关308 6.6.4 临时表相关309 6.6.5 Table Cache相关310 6.6.6 文件相关311 6.6.7 主从复制相关312 6.6.8 缓冲池相关312 6.6.9 redo log相关313 6.6.10 锁相关314 6.6.11 排序相关315 6.6.12 查询相关316 6.6.13 其他重要指标316 6.7 本章总结317 第7章 DDL318 7.1 Online DDL319 7.1.1 Online DDL的分类320 7.1.2 Online DDL的实现原理324 7.1.3 如何检查DDL的进度325 7.1.4 MySQL 8.0.12引入的秒级加列特性327 7.1.5 Online DDL的优缺点329 7.1.6 Online DDL的注意事项329 7.1.7 参考资料331 7.2 pt-online-schema-change331 7.2.1 pt-online-schema-change的实现原理331 7.2.2 pt-online-schema-change的参数解析337 7.2.3 pt-online-schema-change的优缺点345 7.2.4 pt-online-schema-change的注意事项345 7.3 gh-ost346 7.3.1 gh-ost的实现原理346 7.3.2 gh-ost的参数解析354 7.3.3 与gh-ost进行交互358 7.3.4 gh-ost的优缺点359 7.4 元数据锁360 7.4.1 元数据锁引入的背景360 7.4.2 元数据锁的基本概念362 7.4.3 在MySQL 5.7和8.0中如何定位DDL被阻塞的问题363 7.4.4 在MySQL 5.6中如何定位DDL被阻塞的问题365 7.5 本章总结367 第8章 连接池和线程池369 8.1 连接池369 8.1.1 连接池的运行原理369 8.1.2 常用的JDBC连接池370 8.1.3 c3p0连接池371 8.1.4 DBCP连接池374 8.1.5 参考配置377 8.1.6 总结378 8.2 MySQL线程池378 8.2.1 线程池的实现原理379 8.2.2 如何开启线程池功能380 8.2.3 MySQL企业版线程池参数解析380 8.2.4 Percona Server线程池参数解析381 8.2.5 MySQL企业版线程池和Percona Server线程池的对比382 8.2.6 线程池的适用场景384 8.2.7 线程池的压测结果384 8.2.8 线程池的监控385 8.2.9 参考资料389 8.3 MySQL server has gone away深度解析389 8.3.1 出现MySQL server has gone away错误的常见原因389 8.3.2 interactive_timeout和wait_timeout的区别390 8.3.3 wait_timeout设置为多大比较合适393 8.4 本章总结395 第9章 MySQL的常用工具396 9.1 sysbench398 9.1.1 安装sysbench398 9.1.2 sysbench用法讲解399 9.1.3 对MySQL进行基准测试的基本步骤399 9.1.4 如何分析MySQL的基准测试结果401 9.1.5 如何使用sysbench对服务器性能进行测试402 9.1.6 MySQL常见的测试场景及对应的SQL语句404 9.1.7 如何自定义sysbench测试脚本407 9.1.8 总结411 …… 内容摘要 本书以MySQL 8.0为主,全面系统地阐述了MySQL日常使用及管理过程中的一些常用知识点:安装、复制、binlog、备份、监控、DDL、线程池、中间件、常用工具、组复制、InnoDB Cluster、JSON、MySQL 8.0的新特性。 本书定位于实战,目的是让读者拿来即用,快速上手MySQL。除了实战,本书还花费了大量的篇幅来讲解MySQL中一些常见操作、常用工具的实现原理。 组复制是MySQL官方推荐的高可用方案,本书会从源码角度分析组复制的一些核心模块的实现细节,包括分布式恢复、冲突检测、事务一致性以及流量控制机制等。 主编推荐 - “MySQL实战”公众号作者、甲骨文数据库专家、一线技术工程师陈臣倾力打造的诚意之作 - 内容丰富实用,基于MySQL 8.0编写,开箱即用,原理与实战相结合 - 讲解详细,分析透彻,从源码角度分析组复制核心模块的实现细节 媒体评论 MySQL是流行的开源数据库。陈臣所著的《MySQL实战》是基于他自己的大规模数据库管理实践,结合源码、官方文档和原理形成的一本书,系统地介绍了在MySQL的管理、运维和开发过程中使用范围较广但参考资料匮乏的工具。 ——谢鹏 甲骨文(Oracle)公司全球副总裁 中国区技术总经理 看完这本书的目录及样章,深感陈臣满满的诚意。全书紧紧围绕MySQL实战的方方面面展开,有详细的实战细节,更是对几个关键知识点给了原理解读,让读者能更好地理解,知其然且知其所以然。以“组复制”这一章为例,前半部分详细演示了组复制的部署及管理操作,后半部分详细分析了组复制的一些关键实现原理,其中原理解读部分占了该章60%以上的篇幅,详细程度可见一斑。强烈推荐这本书,非常值得一看。 ——叶金荣 Oracle MySQL ACE Director 腾讯云TVP成员 读完样章,内容让人惊艳:GTID的原理与并行复制,主从原理与binlog细节,XtraBackup的巧妙原理,连接池与线程池,中间件的运用实践,包括较新的组复制实践……沉下心,嚼碎这些内容,我相信你一定能超越九成的MySQL从业人员。感谢陈臣的诚意之作,让大家学习MySQL又多了一个选择。行业内能有这样的技术匠人,幸甚至哉! ——沈剑 公众号“架构师之路”作者 拿到这本书的书稿后,既觉得是意料之中,又确实出乎了意料。这本书算得上近年来国内MySQL领域出版物中内容十分丰富、细节十分清晰、篇幅也是相当长的,其运维实践与源码解析相结合的思路正与《MySQL运维内参》不谋而合,不愧为实战之作。 ——周彦伟 极数云舟创始人 《MySQL运维内参》作者 中国计算机行业协会数据库专委会会长 这本书不仅包含了MySQL的实战操作和对应的理论知识,还包含了MySQL的一些非常实用的周边工具和中间件,实属难得。不论对于数据库初学者还是有经验者,这本书都值得反复研读,实践是检验真理的专享标准。 ——肖博 vivo研发总监 陈臣是奋战在运维一线的DBA专家,见证过大型数据库平台从零开始建设的过程。他从一个数据库运维人员的角度帮大家把MySQL的整个运维体系梳理了出来,书中不仅介绍了MySQL的原理、使用方法,更重要的是贡献出了他自己的经验,包括对MySQL生态的周边工具、中间件、连接池等的介绍和使用经验。这些经验十分宝贵。非常推荐MySQL DBA们阅读一下这本书,无论对于新手入门还是老手进阶,这本书都是不错的参考。 ——彭立勋 ACMUG(中国MySQL用户组)主席 Oracle MySQL ACE Director
— 没有更多了 —
本店暂时无法向该地区发货
以下为对购买帮助不大的评价