图书介绍

MySQL运维内参 MySQL、Galera、Inception核心原理与最佳实践PDF|Epub|txt|kindle电子书版本网盘下载

MySQL运维内参 MySQL、Galera、Inception核心原理与最佳实践
  • 周彦伟,王竹峰,强昌金著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121312359
  • 出版时间:2017
  • 标注页数:613页
  • 文件大小:147MB
  • 文件页数:649页
  • 主题词:SQL语言

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

MySQL运维内参 MySQL、Galera、Inception核心原理与最佳实践PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 MySQL篇5

1 MySQL源代码入门5

MySQL源代码的组织结构5

Linux下的编译7

安装MySQL库11

MySQL 5.7权限处理12

2 MySQL启动过程14

3 连接的生命与使命22

用户连接线程创建22

MySQL处理请求27

总结31

4 MySQL表对象缓存32

表结构的实现原理32

涉及的参数变量42

优缺点总结45

存在的问题45

5 InnoDB初探47

InnoDB的源代码目录结构47

InnoDB存储引擎文件组织49

InnoDB体系结构52

InnoDB存储引擎启动与关闭54

InnoDB存储引擎的启动55

InnoDB存储引擎的关闭59

6 InnoDB数据字典66

背景66

系统表结构67

字典表加载69

Rowid管理75

总结76

7 InnoDB数据存储结构77

表空间文件组成结构78

段78

簇79

页面80

段、簇、页面组织结构80

8 InnoDB索引实现原理91

背景91

B+树及B树的区别91

索引的设计92

聚簇索引和二级索引94

二级索引指针95

神奇的B+树网络97

InnoDB索引的插入过程99

一个页面至少要存储几条记录107

页面结构管理110

文件管理头信息111

页面头信息113

最小记录和最大记录115

页面数据空间管理116

经典的槽管理117

页面尾部121

页面重组122

索引页面的回收123

9 InnoDB记录格式125

背景125

从源码入手了解行格式126

总结133

10 揭秘独特的两次写134

单一页面刷盘135

批量页面刷盘136

两次写组织结构137

批量刷盘两次写实现原理138

两次写的作用139

发散思维139

总结139

11 InnoDB日志管理机制141

InnoDB Buffer Pool141

REDO LOG日志文件管理的用途147

MTR InnoDB物理事务150

日志的意义157

日志记录格式159

日志刷盘时机163

REDO日志恢复165

数据库回滚180

数据库UNDO段管理181

数据库UNDO日志记录格式186

回滚时刻188

总结189

12 MySQL 5.7中崭新的MySQL sys Schema191

Performance Schema的改进191

sys Schema介绍192

sys Schema视图摘要193

sys Schema重点视图与应用场景194

使用风险198

总结198

13方便的MySQL GTID199

GTID相关概念200

什么是GTID200

GTID集合200

GTID生命周期201

GTID的维护202

gtid_executed表202

gtid_executed表压缩203

GTID搭建主从204

搭建主从时,需要注意的MySQL参数204

开启GTID205

搭建主从205

使用GTID案例总结206

如何跳过一个GTID206

利用GTID模式快速改变210

主从复制关系210

在线将传统模式复制改为GTID模式复制211

在线将GTID模式复制改为传统模式复制213

GTID的限制213

14 MySQL半同步复制215

半同步特性215

半同步主库端217

半同步从库端222

半同步实现224

插件安装228

半同步自动开关228

15 MySQL 5.7多线程复制原理229

背景229

行之有效的延迟优化方法229

MySQL 5.6的多线程复制230

MySQL 5.7的多线程复制231

ordered commit232

多线程复制分发原理238

异常故障恢复239

16大量MySQL表导致服务变慢的问题244

背景244

问题分析245

案例解决247

总结251

17 MySQL快速删除大表252

背景252

问题分析252

案例解决255

发散思维256

总结257

18两条不同的插入语句导致的死锁258

背景258

问题分析260

发散思维265

总结265

19 MySQL在并发删除同一行数据时导致死锁的分析266

背景266

问题分析267

发散思维276

总结276

20参数SQL_SLAVE_SKIP_COUNTER的奥秘277

21 Binlog中的时间戳280

背景280

问题分析280

发散思维284

事务中的事件顺序285

问题延伸285

show processlist中的Time288

总结291

22 InnoDB中Rowid对Binlog的影响292

背景292

问题分析292

总结297

23 MySQL备份:Percona Xtra-Backup的原理与实践298

备份背景及类型298

认识Percona XtraBackup299

XtraBackup的工作流程300

XtraBackup的备份原理302

XtraBackup需要的权限304

innobackupex常用的备份选项说明304

XtraBackup备份实践307

全量备份307

增量备份308

并行备份311

其他备份311

案例实践与心得312

建议与提醒314

24 MySQL分库分表315

分库分表的种类315

分库分表的原则317

分库分表实现320

数据库层的实现320

业务层的实现322

25 MySQL数据安全323

单机安全324

集群安全324

备份安全324

MySQL实例安全保证325

Double Write325

REDO LOG325

MySQL集群安全保证327

传统的主从模式如何保证数据库安全328

Semi_Sync Replication方式的复制332

MySQL集群化如何保证数据库安全333

总结335

26 MySQL性能拾遗337

适当的数据文件大小337

碎片空洞问题338

设计问题338

合理设计表结构339

冗余存储339

拆分存储341

重复存储342

特别提醒342

正确使用索引343

MySQL系统参数345

内存和CPU347

磁盘的革命348

云中漫步351

总结354

27 MySQL Group Replication356

Group Replication概述356

组的概念357

多主复制358

单独的通信机制358

Group Replication服务模式359

单主模式359

多主模式360

服务模式的配置363

Binlog Event的多线程执行363

group_replication_ applier通道363

基于主键的并行执行364

搭建Group Replication复制环境364

MySQL的参数设置365

Group Replication插件的使用366

Group Replication插件的基本参数设置367

Group Replication的数据库用户368

Group Replication组初始化368

新成员加入组369

Group Replication的高可用性370

组内成员数量的变化371

强制移除故障成员371

Group Replication的监控371

Group Replication的基本原理374

状态机复制374

分布式的状态机复制375

分布式的高可用数据库376

深入理解Group Replication中事务的执行过程377

本地事务控制模块378

成员间的通信模块379

全局事务认证模块382

异地事务执行模块387

事务流程的总结387

深入理解成员加入组的过程389

组视图389

加入组时视图的切换390

View_change_log_event391

恢复391

28 MySQL Document Store面面观394

新的JSON数据类型和JSON函数395

JSON数据类型395

JSON函数详解396

JSON函数的运用408

MySQL X Plugin和X Protocol410

支持NoSQL所做的努力410

安装MySQL X Plugin411

MySQL Shell411

安装MySQL Shell412

运行MySQL Shell413

在MySQL Shell中操作JSON文档414

用脚本执行MySQL Shell420

X DevAPI422

总结425

参考资料425

第二部分 Galera篇430

29 Galera Cluster的设计与实现430

Galera Cluster的优点430

Galera的引入431

Galera接口433

总结442

30 Galera参数解析443

状态参数443

变量参数448

31 Galera的验证方法455

Binlog与Galera的关系455

验证方法456

32 Galera的消息传送458

33 GCache实现原理461

配置参数461

实现原理462

发散思维465

34大话SST/IST细节467

初始化节点环境468

连接到集群并且做SST/IST469

如何提供增量数据477

总结477

35 Donor/Desynced详解479

实现方式480

意义何在480

问答环节481

36 Galera的并发控制机制482

数据复制482

写集验证483

写集APPLY483

事务Conmmit484

37 Galera的流量控制485

流量控制的定义485

流量控制的实现原理及影响486

两个问题488

38 Galera Cluster影响单节点执行效率的因素489

单点验证489

并发控制490

等待GTID490

总结490

39 grastate.dat文件揭秘491

引子491

分析研究492

总结492

40 Galera Cluster从库的转移494

没有开启Server级GTID的情况495

开启了GTID(server级)的情况496

总结500

41 Galera Cluster节点与其从库的随意转换501

背景501

从节点向PXC节点的转换502

PXC节点向异步从节点的转换504

42 业务更新慢,不是由Galera引起的505

43 在线改表引发的Galera Cluster集群死锁516

背景516

用Binlog来代替触发器517

表名交换520

Galera Cluster中的问题524

一个有趣的实验526

解决方案531

总结532

第三部分 Inception篇537

44 Inception诞生记537

关于SQL审核537

半自动化方法537

人肉法540

不满现状的追求542

何谓Inception543

45 Inception安装与使用545

下载和编译545

启动配置547

线上配置需求548

需要额外注意的点549

使用方法549

举例说明551

环境变量的设置553

46支持选项555

选项说明555

DDL与DML语句分离559

小技巧560

47 Inception的备份回滚562

备份存储架构562

备份所需条件567

48审核规范568

支持的语句类型568

公共检查项569

插入语句检查项570

更新、删除语句检查项570

表属性检查项570

列属性检查项571

索引属性检查项572

修改表语句检查项573

总结573

49参数变量574

语法和变量574

注意事项578

50友好的结果集580

结果集结构580

总结583

51命令集语句584

远程信息获取584

显示本地全部变量586

显示本地某个变量586

设置本地变量587

显示OSC执行进度588

查看当前processlist589

52 Inception的彩蛋591

对OSC的支持591

可选的OSC参数591

查看OSC的执行进度593

中止OSC的执行596

查看所有OSC执行信息597

Inception对SQL执行情况的统计597

打印语法树599

53 Inception设计609

Inception之源609

Inception执行流程611

热门推荐