×
MySQL运维内参-MySQL.Galera.Inception核心原理与最佳实践

包邮MySQL运维内参-MySQL.Galera.Inception核心原理与最佳实践

1星价 ¥46.2 (3.9折)
2星价¥46.2 定价¥119.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787121312359
  • 装帧:简裝本
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:613
  • 出版时间:2017-06-01
  • 条形码:9787121312359 ; 978-7-121-31235-9

本书特色

MySQL能够处理拥有数十亿行的大型数据库,随着越来越多的公司和大型组织发现MySQL完全能够满足自己的数据库处理需求,其用户量一直还会持续高速增长。本书是一本介绍如何高效使用MySQL进行运维的高级实战指导用书,除MySQL核心技术之外,更是首次披露热门工具Galera与Inception的独家内幕。

内容简介


去哪儿DBA老大|ACE Director|MySQL用户组主席周彦伟领衔打造

源码专家强势加盟,集三大主流开源项目源码剖析与实战于一书

一呼百应,MySQL官方指定专家*NoSQL|Replication独家内幕
√ DBA案头**,覆盖服务器性能|集群高可用|自动化运维高级话题

目录

部分 MySQL篇
1 MySQL源代码入门
MySQL源代码的组织结构
Linux下的编译
安装MySQL库
MySQL 5.7权限处理
2 MySQL启动过程
3 连接的生命与使命
用户连接线程创建
MySQL处理请求
总结
4 MySQL表对象缓存
表结构的实现原理
涉及的参数变量
优缺点总结
存在的问题
5 InnoDB初探
InnoDB的源代码目录结构
InnoDB存储引擎文件组织
InnoDB体系结构
InnoDB存储引擎启动与关闭
InnoDB 存储引擎的启动
InnoDB存储引擎的关闭
6 InnoDB数据字典
背景
系统表结构
字典表加载
Rowid管理
总结
7 InnoDB数据存储结构
表空间文件组成结构


页面
段、簇、页面组织结构
8 InnoDB索引实现原理
背景
B 树及B树的区别
索引的设计
聚簇索引和二级索引
二级索引指针
神奇的B 树网络
InnoDB索引的插入过程
一个页面至少要存储几条记录
页面结构管理
文件管理头信息
页面头信息
小记录和大记录
页面数据空间管理
经典的槽管理
页面尾部
页面重组
索引页面的回收
9 InnoDB记录格式
背景
从源码入手了解行格式
总结
10 揭秘独特的两次写
单一页面刷盘
批量页面刷盘
两次写组织结构
批量刷盘两次写实现原理
两次写的作用
发散思维
总结
11 InnoDB日志管理机制
InnoDB Buffer Pool
REDO LOG日志文件管理的用途
MTR InnoDB物理事务
日志的意义
日志记录格式
日志刷盘时机
REDO日志恢复
数据库回滚
数据库UNDO段管理
数据库UNDO日志记录格式
回滚时刻
总结
12 MySQL 5.7中崭新的MySQL sys Schema
Performance Schema的改进
sys Schema介绍
sys Schema视图摘要
sys Schema重点视图与应用场景
使用风险
总结
13 方便的MySQL GTID
GTID 相关概念
什么是GTID
GTID集合
GTID生命周期
GTID的维护
gtid_executed表
gtid_executed表压缩
GTID搭建主从
搭建主从时,需要注意的MySQL参数
开启GTID
搭建主从
使用GTID案例总结
如何跳过一个GTID
利用GTID模式快速改变主从复制关系
在线将传统模式复制改为GTID模式复制
在线将GTID模式复制改为传统模式复制
GTID的限制
14 MySQL半同步复制
半同步特性
半同步主库端
半同步从库端
半同步实现
插件安装
半同步自动开关
15 MySQL 5.7多线程复制原理
背景
行之有效的延迟优化方法
MySQL 5.6的多线程复制
MySQL 5.7的多线程复制
ordered mit
多线程复制分发原理
异常故障恢复
16 大量MySQL表导致服务变慢的问题
背景
问题分析
案例解决
总结
17 MySQL快速删除大表
背景
问题分析
案例解决
发散思维
总结
18 两条不同的插入语句导致的死锁
背景
问题分析
发散思维
总结
19 MySQL在并发删除同一行数据时导致死锁的分析
背景
问题分析
发散思维
总结
20 参数SQL_SLAVE_SKIP_COUNTER的奥秘
21 Binlog中的时间戳
背景
问题分析
发散思维
事务中的事件顺序
问题延伸
show processlist中的Time
总结
22 InnoDB中Rowid对Binlog的影响
背景
问题分析
总结
23 MySQL备份:Percona XtraBackup的原理与实践
备份背景及类型
认识Percona XtraBackup
XtraBackup的工作流程
XtraBackup的备份原理
XtraBackup 需要的权限
innobackupex常用的备份选项说明
XtraBackup备份实践
全量备份
增量备份
并行备份
其他备份
案例实践与心得
建议与提醒
24 MySQL分库分表
分库分表的种类
分库分表的原则
分库分表实现
数据库层的实现
业务层的实现
25 MySQL数据安全
单机安全
集群安全
备份安全
MySQL实例安全保证
Double Write
REDO LOG
MySQL集群安全保证
传统的主从模式如何保证数据库安全
Semi_Sync Replication方式的复制
MySQL集群化如何保证数据库安全
总结
26 MySQL 性能拾遗
适当的数据文件大小
碎片空洞问题
设计问题
合理设计表结构
冗余存储
拆分存储
重复存储
特别提醒
正确使用索引
MySQL系统参数
内存和CPU
磁盘的革命
云中漫步
总结
27 MySQL Group Replication
Group Replication概述
组的概念
多主复制
单独的通信机制
Group Replication服务模式
单主模式
多主模式
服务模式的配置
Binlog Event的多线程执行
group_replication_applier通道
基于主键的并行执行
搭建Group Replication复制环境
MySQL的参数设置
Group Replication插件的使用
Group Replication插件的基本参数设置
Group Replication的数据库用户
Group Replication组初始化
新成员加入组
Group Replication的高可用性
组内成员数量的变化
强制移除故障成员
Group Replication的监控
Group Replication的基本原理
状态机复制
分布式的状态机复制
分布式的高可用数据库
深入理解Group Replication中事务的执行过程
本地事务控制模块
成员间的通信模块
全局事务认证模块
异地事务执行模块
事务流程的总结
深入理解成员加入组的过程
组视图
加入组时视图的切换
View_change_log_event
恢复
28 MySQL Document Store面面观
新的JSON数据类型和JSON函数
JSON数据类型
JSON函数详解
JSON函数的运用
MySQL X Plugin 和 X Protocol
支持NoSQL所做的努力
安装MySQL X Plugin
MySQL Shell
安装MySQL Shell
运行MySQL Shell
在MySQL Shell中操作JSON文档
用脚本执行MySQL Shell
X DevAPI
总结
参考资料
第二部分 Galera篇
29 Galera Cluster的设计与实现
Galera Cluster的优点
Galera的引入
Galera接口
总结
30 Galera 参数解析
状态参数
变量参数
31 Galera的验证方法
Binlog与Galera的关系
验证方法
32 Galera的消息传送
33 GCache实现原理
配置参数
实现原理
发散思维
34 大话SST/IST细节
初始化节点环境
连接到集群并且做SST/IST
如何提供增量数据
总结
35 Donor/Desynced详解
实现方式
意义何在
问答环节
36 Galera的并发控制机制
数据复制
写集验证
写集APPLY
事务Commit
37 Galera的流量控制
流量控制的定义
流量控制的实现原理及影响
两个问题
38 Galera Cluster影响单节点执行效率的因素
单点验证
并发控制
等待GTID
总结
39 grastate.dat文件揭秘
引子
分析研究
总结
40 Galera Cluster从库的转移
没有开启Server级GTID的情况
开启了GTID(server级)的情况
总结
41 Galera Cluster节点与其从库的随意转换
背景
从节点向PXC节点的转换
PXC节点向异步从节点的转换
42 业务更新慢,不是由Galera引起的
43 在线改表引发的Galera Cluster集群死锁
背景
用Binlog来代替触发器
表名交换
Galera Cluster中的问题
一个有趣的实验
解决方案
总结
第三部分 Inception篇
44 Inception诞生记
关于SQL审核
半自动化方法
人肉法
不满现状的追求
何谓Inception
45 Inception安装与使用
下载和编译
启动配置
线上配置需求
需要额外注意的点
使用方法
举例说明
环境变量的设置
46 支持选项
选项说明
DDL与DML语句分离
小技巧
47 Inception的备份回滚
备份存储架构
备份所需条件
48 审核规范
支持的语句类型
公共检查项
插入语句检查项
更新、删除语句检查项
表属性检查项
列属性检查项
索引属性检查项
修改表语句检查项
总结
49 参数变量
语法和变量
注意事
展开全部

相关资料

中国君子,“穷则独善其身,达则兼善天下”。中国互联网技术从业者,也应当有这般胸怀,研习新旧技术,总结成败经验,继承开源思想,传播创新文化。很庆幸,彦伟的团队就是这样一个典型,从点滴做起,与社区共生,先做好自己,再泽被四邻。从来没有一个行业的技术趋势,如互联网这样,发展狂飙突进,门派星罗棋布,更迭日新月异。从业者要从其中海选出适合自己的方案,已是大费周章,更别说精通此道引领风尚。所以,要想跟上时代,不仅需要慧眼,更需要妙手。这本书的问世,归功于彦伟、竹峰和昌金这三位数据库老司机,不但车技娴熟,慧眼妙手,能帮他人排忧解难,而且更兼济世仁心,愿天下从业者都有医者之能。*后,衷心祝愿本书能给各位读者的职业生涯,送上一个漂亮的神助攻。
刘启荣
*金融数据库总监

本书是理论和实践的完美结合,是去哪儿网DB团队知识和技术累积的结晶,有关键的理论知识,还有丰富的实践案例,同时还从源码角度来进行说明确认,使MySQL的爱好者知其然,更能知其所以然,在MySQL运维世界里是一本不可多得的好书。我受益匪浅,也希望广大读者有更大的收获。更实在的是,在去哪儿网DB团队负责人周彦伟先生的积极推动下,InceptionSQL审核系统在去哪儿网的生产环境上得到了洗礼和考验,而且本书出版前该系统已开源多时,MySQL爱好者亦可参考本书内容,然后根据自身实际的业务情况,更好地去建立或改善自有的MySQL自动化运维平台,方便数据库上线,减少出现错误的概率,提升运维与开发人员工作效率,解放出DBA,使其做更有价值的事情。此外,近几年来,开源社区组织ACMUG(中国MySQL用户组)在周彦伟先生的积极推动下,在主席团成员、各嘉宾的积极配合及MySQL爱好者的积极参与下,取得的成绩斐然,发展有目共睹,不忘初心、始终不渝地把全国范围内MySQL爱好者的知识和力量集合起来,共同创建一个开放、友好、免费的分享平台,让MySQL爱好者们在互相交流中共同进步、收获快乐。努力诠释利他才是生命的真正意义,欢迎加入开源世界并贡献力量!敬为书序。
田发明
央视网系统运维部高级经理

阅读完毕彦伟兄发来的全书摘选章节:InnoDB索引实现原理、揭秘独特的两次写、Galera Cluster的设计与实现和Inception诞生记,通过阅读这四个章节的部分内容,可以窥猜全书的技术文采,阅读后让人感受到作者是一位有丰富故事的DBA,同时又是有着产品思路和源码经验之士。值得数据架构师、DBA等仔细研读。
金官丁
热璞科技创始人兼CTO

很高兴看见MySQL领域又能有一本新书发行,同样作为一名作者的我,很明白其中的艰辛与付出。多年前,我研究MySQL时遇到的*问题就是市面上可参考的书籍太少。相信随着大数据与互联网 时代的来临,MySQL数据库将渗透到各个领域。本书作者是我熟悉的业界资深运维与开发专家,相信本书能从全方位的角度让大家认识MySQL数据库。
姜承尧
网易数据库负责人

认识彦伟是三年前,在去哪儿网一间还未装修、布满网线的会议室里。*次见面,彦伟便给我留下了敢于尝试、乐于分享的印象。过去这些年,彦伟一直在和各种不同的数据库打交道,见证了MySQL从一个小型的关系型数据库发展成为各大互联网企业的核心数据库的过程。他本人也一直保持着对新技术的执着。授人以鱼不如授人以渔,本着交流和分享的精神,本书作者将多年实践中积累的点滴经验整理分享出来,具有*的实践和指导意义。数据库的发展离不开运维的责任感,以匠心耕耘专业,这是一本有责任感、有专业精神、诚意满满之作。
阳学仕
宝存科技董事长兼首席执行官、创始人

作者简介

周彦伟
去哪儿网数据库总监,Oracle MySQL ACE Director,ACMUG主席
在去哪儿网负责数据库平台的管理和维护工作。工作范围包括MySQL、Redis、HBase平台的架构设计、性能调优、日常运维及自动化运维平台设计。长期奋战于互联网行业,历经酷讯网、人人网(校内网)和去哪儿网。曾经担任人人网MySQL技术主管,负责数千规模的MySQL数据库实例的运维管理。中国MySQL用户组(ACMUG)创始人兼主席,领导和组织中国MySQL社区活动。

王竹峰
去哪儿网数据库专家
擅长数据库开发、数据库管理及维护,一直致力于MySQL数据库源码的研究与探索,对数据库原理及实现具有深刻的理解。
曾就职于达梦数据库,多年从事数据库内核开发的工作,后转战人人网,任职高级数据库工程师,目前在去哪儿网负责MySQL源码研究与运维、数据库管理和自动化运维平台设计开发及实践工作,是Inception开源项目的作者。

强昌金
去哪儿网高级DBA
先后就职于陌陌、去哪儿网。
目前担任去哪儿网DBA,主要负责去哪儿网数据库管理平台的开发、MySQL和Redis的运维。在数据库方面,具有丰富的数据库运维和性能优化经验。

特邀撰稿
杜修文
现任Oracle公司MySQL技术顾问,负责大中华及亚洲地区MySQL的技术推广及项目的推动。同时也是台湾MySQL社区的发起人。

宋利兵 Oracle公司 MySQL研发工程师
MySQL复制团队的成员,先后参加了MySQL
5.1以来的各个版本的开发工作。2016年参与了MySQL Group Replication的开发,期间研究了Group
Replication的源代码,对Group Replication涉及的技术有透彻的理解。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航