正版保障 假一赔十 可开发票
¥ 60.85 5.6折 ¥ 109 全新
库存7件
作者贺春旸 著
出版社机械工业出版社
ISBN9787111712077
出版时间2022-10
装帧平装
开本16开
定价109元
货号29472732
上书时间2024-11-01
为什么要写这本书
数据对于一个企业来说至关重要。DBA(数据库管理员)就是管理这些数据的人员,企业每日要处理成千上万的资金流水,这离不开DBA团队的支持,一旦数据库出现故障,后果可想而知。试想一下,你在银行用ATM取钱时,账户中的金额一瞬间被重置为零,你会是什么心情。
DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能,保证数据库服务可以7×24小时稳定、高效运转。DBA是没有休息日的,不论是周末还是节假日,我们都得随时待命,就算是去医院给孩子看病,也都会随身携带着笔记本电脑,以便及时响应突发的各种问题。这种匠心精神可以从以下三方面来诠释。
(1)DBA精神是责任心的体现
作为一名合格的DBA,我们必须随时思考备份是否有遗漏,监控能否更全面,有没有漏掉必须设置的安全权限限制,出问题时,有没有时间分析并给出解决方案等。
(2)DBA精神是服务心的体现
DBA应该发自内心地主动对数据库不断进行优化,及时监控磁盘报警、内存不足、CPU过载等情况。
(3)DBA精神是学习心的体现
DBA要能随时发现问题,分析并解决问题,要基于故障出现的场景,结合自己的经验和积累的知识来寻找问题的根源以及解决办法,这就注定我们要持续学习,除了沉淀经验,还要去探索未知的知识,只有不断充实自己,才能不断成长。
我个人非常赞同“专业的事要交给专业的人来做”这句话,毕竟“闻道有先后,术业有专攻”。舒马赫不会研发发动机,但并不妨碍他取得F1方程式赛车的冠军。在部分创业型的小公司里,并没有DBA这个职位,一切皆由开发人员负责,但我遇到过很多开发人员误删除数据的事故,因为这并非他的本职工作,他将大量的时间都花在了编写代码上,再让他作为DBA操作数据库,免不了会出现拿不准的情况,结果就导致了悲剧的发生。人的精力是有限的,身兼数职必然会提高误操作概率。从另一个角度来说,DBA的工作对实践经验和工作能力的要求较高,没有经过大量的实践是很难胜任的。
本书以构建高性能的MySQL服务器为核心,详细介绍了MariaDB 10.5和MySQL 8.0的新特性,并从故障诊断与优化、性能调优、备份与恢复、MySQL高可用集群搭建与管理、MySQL性能与服务监控、SQL自助上线等角度深入讲解了如何管理与维护MySQL服务器。
书中实战相关的内容均是基于笔者多年的实践经验整理而成,对于有代表性的疑难问题,则给出了实用的情景模拟以及解决方案。不论你目前有没有遇到过此类问题,相信本书都会对你有借鉴意义。
数据库技术在不断发展,本书截稿后,相关的更新仍在继续,我基于近的更新撰写了一些文章,包括:
MariaDB Xpand分布式数据库发布
MariaDB 10.6(GA)的新特性和改进
MariaDB 10.8(GA)Alter修改表结构实现从库无延迟并行复制
MHA复刻版轻松实现MySQL高可用故障转移
Ansible简易版
循环分批次更改10万行数据记录
mydumper支持流式备份恢复
借助LogAnalyzer打造轻量级数据库审计日志平台
考虑到出版周期,暂未将上述内容纳入书中,读者可通过网址https://github.com/hcymysql/mysql_book获取。
读者对象
本书是基于应用撰写的数据库运维图书,主要面向使用MySQL InnoDB存储引擎作为后端数据库的运维人员。书中的大部分示例来源于生产环境中,要想更好地学习本书的内容,读者需要具备以下条件:
有一定的SQL基础。
掌握基本的MySQL操作和Linux操作,以及数据库基本原理。
接触过PHP、Python和Shell脚本语言。
如何阅读本书
本书共10章,分为四部分。
部分(第1章和第2章)详细介绍了MariaDB 10.5和MySQL 8.0的新特性,包括安装步骤、升级方法和注意事项等内容。
第二部分(第3~6章)为故障诊断与性能调优。本篇内容基于生产环境下MySQL的故障处理方案整理而成,包括表设计阶段范式的理解、字段类型的选取、采用表锁还是行锁、MySQL默认的隔离级别与传统数据库(如SQL Server、Oracle)的区别、SQL语句的优化以及合理利用索引等。
第三部分(第7~9章)介绍如何搭建高可用架构,内容包括MariaDB MaxScale高可用架构的实现与读写分离、MySQL组复制集群管理,基于TSpider中间件实现分库分表等。
第四部分(第10章)介绍了MySQL Monitor和MySQL Slowquery。
每个部分都可以单独作为一本迷你书阅读,如果你从未接触过MariaDB 10.5或MySQL 8.0,建议从部分开始阅读。
勘误和支持
由于我的写作水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。你可以将书中的错误发到https://github.com/hcymysql/mysql_book,我将尽力提供满意的解答。如果你有更多宝贵的意见,也欢迎发送邮件至邮箱chunyang_he@139.com,期待收到你的真挚反馈。
致谢
在凡普公司7年多的时间里,我得到了很多帮助,在这里感谢部门总监对我的信任,让我始终挑战运维一线,使我不断成长;也感谢工作中与我对接的研发同事,关于数据库运维基础平台的搭建,他们给了我许多建设性的意见,没有他们的帮助,本书会缺少许多精彩的内容。
感谢dbaplus社群、51CTO博客提供了知识展示的平台,拓展了我的视野,同时也感谢韩锋、邱文辉
本书以构建高性能MySQL服务器为核心,先介绍MySQL 8.0和MariaDB 10.5的新特性,然后以实战为导向,从故障诊断与优化、性能调优、备份与恢复、MySQL高可用集群搭建与管理、MySQL性能与服务监控、SQL自助上线等角度深入讲解了如何管理与维护MySQL服务器。书中内容均是基于笔者多年的实践经验整理而成,对于有代表性的疑难问题,还给出了实用的情景模拟以及解决方案。
51CTO官方推荐
MySQL以其轻便、快捷、运营成本低等优点成为一款*受企业欢迎的数据库产品。贺春旸老师在MySQL领域深耕数十年,有着丰富的一线工作经验。日常在51CTO博客更文也是深受读者的喜欢,更是成为MySQL领域不可多得的博客专家。本书是贺春旸老师的又一佳作,他将多年实操经验融入字里行间,让读者能更快速理解并掌握知识点,在面对自己工作中实际问题时,如虎添翼、从容应对!
——51CTO博客(https://blog.51cto.com/)
贺春旸
爱钱进DBA团队负责人,51CTO博客专家(讲师)、dbaplus社区专家,曾四次获得dbaplus年度MVP称号。从事MySQL数据库管理工作13年,曾任职于中国移动飞信、爱施德机锋网,主要负责数据库性能调优、监控和架构设计。擅长数据库设计评审、架构设计、性能调优、运维自动化管理等技术,有管理和维护高并发海量数据的经验,致力于MySQL、MariaDB、MongoDB等开源技术的研究。著有《MySQL管理之道:性能调优、高可用与监控》和《MySQL管理之道:性能调优、高可用与监控(第2版)》。
dbaplus简介
数据连接未来!dbaplus是围绕Database、Bigdata、AiOps创建的企业级专业社群。汇集行业大咖、分享技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops & DAMS行业大会。欢迎广大技术同路人加入dbaplus社群,共创学习交流、价值实现、跨界合作的平台。
前言
部分 MariaDB与MySQL的新特性
第1章 MariaDB 10.5的新特性2
1.1 MariaDB概述2
1.2 MariaDB 10.5与MySQL 8.0的
比较3
1.2.1 存储引擎3
1.2.2 扩展和新功能4
1.3 如何将MySQL迁移至
MariaDB中5
1.4 MariaDB 10.5新特性详解7
1.4.1 客户端连接层的改进7
1.4.2 服务层的改进24
1.4.3 InnoDB存储引擎层的改进61
第2章 MySQL 8.0的新特性70
2.1 MySQL 8.0概述70
2.2 MySQL 8.0新特性详解70
2.2.1 性能提升73
2.2.2 客户端连接层的改进74
2.2.3 服务层的改进81
2.2.4 优化器的改进86
2.2.5 同步复制的改进104
2.2.6 InnoDB存储引擎层的改进110
2.2.7 通过pt-upgrade工具检测SQL
语法的兼容性122
第二部分 故障诊断与性能优化
第3章 故障诊断126
3.1 影响MySQL性能的因素126
3.2 系统性能评估标准127
3.2.1 影响Linux服务器性能的
因素128
3.2.2 系统性能评估指标129
3.2.3 开源监控和评估工具131
3.3 故障与处理136
3.3.1 基于pt-online-schema-change
修改表结构是否安全136
3.3.2 修改外键时,pt-osc内部是
如何处理的138
3.3.3 删除大表的小技巧139
3.3.4 重构Percona pt-archiver:轻松
归档大表数据140
3.3.5 Percona pt-kill改造版(PHP):
慢SQL报警及扼杀利器143
3.3.6 自适应Hash索引引起的
MySQL崩溃与重启146
3.3.7 诊断事务量突增的原因148
3.3.8 谨慎设置binlog_format=
MIXED150
3.3.9 MySQL故障切换之事件
调度器的注意事项155
3.3.10 误操作的恢复158
3.3.11 快速恢复二进制日志161
第4章 处理同步复制报错故障162
4.1 常见的3种故障162
4.1.1 在主库上删除一条记录导致
的故障163
4.1.2 主键重复164
4.1.3 在主库上更新了一条记录,
在从库上却找不到165
4.2 特殊情况:从库的中继日志受损166
4.3 多台从库中存在重复的server-id168
4.4 避免在主库上执行大事务169
4.5 slave_exec_mode参数可自动
处理同步复制错误169
4.6 如何验证主从数据是否一致171
4.7 binlog_ignore_db引起的同步
复制故障174
4.8 在从库上恢复指定表的简要
方法176
4.9 如何彻底清除从库的同步信息177
第5章 性能调优179
5.1 表的设计规范179
5.1.1 表的设计目标179
5.1.2 数据库三范式的定义180
5.2 字段类型的选取185
5.2.1 数值类型185
5.2.2 字符类型191
5.2.3 时间类型194
5.3 采用合适的锁机制201
5.3.1 表锁201
5.3.2 行锁203
5.3.3 行锁转表锁204
5.3.4 死锁205
5.4 选择合适的事务隔离级别207
5.4.1 事务的概念207
5.4.2 事务的实现208
5.4.3 事务的隔离级别210
5.5 SQL优化与合理利用索引218
5.5.1 慢查询的定位方法218
5.5.2 SQL优化案例分析219
5.5.3 合理使用索引230
5.6 my.cnf配置文件调优239
5.6.1 per_thread_buffers参数调优239
5.6.2 global_buffers参数调优241
5.6.3 查询缓存在不同环境下的
使用242
5.7 MySQL设计、开发和操作规范243
5.8 SQL自助上线平台254
5.8.1 简介254
5.8.2 审核规则256
第6章 备份与恢复258
6.1 冷备份259
6.2 逻辑备份259
6.2.1 mysqldump中增加了重要参数
--dump-slave260
6.2.2 取代mysqldump的新工具
mydumper261
6.3 热备份与恢复265
6.3.1 XtraBackup的工作原理265
6.3.2 使用Percona XtraBackup 8.0
备份MySQL 8.0269
6.3.3 MariaDB热备份工具
mariabackup270
第三部分 高可用架构
第7章 高可用架构集群管理272
7.1 MaxScale高可用架构273
7.1.1 功能概述273
7.1.2 搭建MaxScale高可用架构274
7.1.3 模拟故障转移279
7.2 MySQL组复制高可用架构282
7.2.1 组复制的工作原理283
7.2.2 组复制的特性和注意事项288
7.2.3 组复制的使用方法289
第8章 MySQL架构演进:一主
多从、读写分离294
8.1 实现读写分离的两种方式295
8.2 主从复制延迟的计算方法297
8.3 HAProxy感知MySQL主从同步
延迟300
8.4 搭建读写分离MariaDB MaxScale
架构307
8.4.1 配置环境及安装介绍307
8.4.2 基于连接方式的测试311
8.4.3 基于语句方式(SQL解析)
的测试311
8.4.4 MaxScale延迟检测312
第9章 TSpider分库分表的搭建与
管理316
9.1 TSpider简介317
9.1.1 TSpider的使用场景317
9.1.2 TSpider的取模扩容问题324
9.1.3 TSpider负载均衡架构设计325
9.2 Tdbctl详解325
9.2.1 安装Tdbctl组件326
9.2.2 Tdbctl的重要参数说明327
9.2.3 Tdbctl的配置管理327
9.2.4 Tdbctl组件的验证327
第四部分 监控管理平台
第10章 MySQL监控管理平台330
10.1 图形可视化监控工具MySQL
Monitor331
10.1.1 环境搭建334
10.1.2 搭建MySQL Monitor工具334
10.2 图形化显示慢日志的工具MySQL
Slowquery336
10.2.1 环境搭建337
10.2.2 MySQL Slowquery工具的
配置337
本书以构建高性能MySQL服务器为核心,先介绍MySQL 8.0和MariaDB 10.5的新特性,然后以实战为导向,从故障诊断与优化、性能调优、备份与恢复、MySQL高可用集群搭建与管理、MySQL性能与服务监控、SQL自助上线等角度深入讲解了如何管理与维护MySQL服务器。书中内容均是基于笔者多年的实践经验整理而成,对于有代表性的疑难问题,还给出了实用的情景模拟以及解决方案。
51CTO官方推荐
MySQL以其轻便、快捷、运营成本低等优点成为一款*受企业欢迎的数据库产品。贺春旸老师在MySQL领域深耕数十年,有着丰富的一线工作经验。日常在51CTO博客更文也是深受读者的喜欢,更是成为MySQL领域不可多得的博客专家。本书是贺春旸老师的又一佳作,他将多年实操经验融入字里行间,让读者能更快速理解并掌握知识点,在面对自己工作中实际问题时,如虎添翼、从容应对!
——51CTO博客(https://blog.51cto.com/)
贺春旸
爱钱进DBA团队负责人,51CTO博客专家(讲师)、dbaplus社区专家,曾四次获得dbaplus年度MVP称号。从事MySQL数据库管理工作13年,曾任职于中国移动飞信、爱施德机锋网,主要负责数据库性能调优、监控和架构设计。擅长数据库设计评审、架构设计、性能调优、运维自动化管理等技术,有管理和维护高并发海量数据的经验,致力于MySQL、MariaDB、MongoDB等开源技术的研究。著有《MySQL管理之道:性能调优、高可用与监控》和《MySQL管理之道:性能调优、高可用与监控(第2版)》。
dbaplus简介
数据连接未来!dbaplus是围绕Database、Bigdata、AiOps创建的企业级专业社群。汇集行业大咖、分享技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops & DAMS行业大会。欢迎广大技术同路人加入dbaplus社群,共创学习交流、价值实现、跨界合作的平台。
— 没有更多了 —
以下为对购买帮助不大的评价