《跟老男孩学Linux运维 MySQL入门与提高实践》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:老男孩著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111613671
  • 页数:410 页
图书介绍:本书从零开始讲解数据库,全书以理论结合企业案例实践为主,所讲内容皆为生产中的重点知识。本书先介绍数据库的基础知识,比如,MySQL数据库的产品路线、MySQL版本等,然后给出安装配置方法,并针对企业级的安装配置进行说明。从第5章开始,着手讲解MySQL的基础命令操作方法、备份和恢复实践、日志、字符集、常用引擎、复制等内容,接着给出读写分离、高可用性方案的企业实践,以及优化方案,帮助读者将所学知识点运用到实际工作中。

第1章 数据库介绍与分类 1

1.1 数据库介绍 1

1.2 数据库的种类 1

1.2.1 关系型数据库介绍 2

1.2.2 非关系型数据库介绍 3

1.3 常用关系型数据库产品介绍 6

1.3.1 Oracle数据库 6

1.3.2 MySQL数据库 6

1.3.3 MariaDB数据库 7

1.3.4 SQL Server数据库 7

1.3.5 Access数据库 7

1.3.6 PostgreSQL数据库 8

1.3.7 其他不常用的关系型数据库 8

1.4 常用非关系型数据库产品介绍 9

1.4.1 Memcached(key-value) 9

1.4.2 redis(key-value) 10

1.4.3 MongoDB(document-oriented) 10

1.4.4 Cassandra(column-oriented) 11

1.4.5 其他非关系型数据库 12

1.5 数据库相关知识 12

1.5.1 数据库发展历史大事记 12

1.5.2 数据库软件企业应用排名及发展趋势参考 12

1.6 本章重点 14

1.7 章节试题 14

第2章 MySQL数据库入门知识介绍 15

2.1 MySQL介绍 15

2.1.1 MySQL简介 15

2.1.2 MariaDB数据库的诞生背景介绍 15

2.1.3 为什么选择MySQL数据库 16

2.2 MySQL数据库分类与版本升级 16

2.2.1 MySQL数据库企业版与社区版的区别 16

2.2.2 MySQL数据库的四种发布版本介绍 17

2.3 MySQL数据库软件的命名介绍 18

2.4 MySQL产品路线 19

2.4.1 MySQL产品路线变更历史背景 19

2.4.2 MySQL-5.0.xx到MySQL-5.1.xx的产品线 19

2.4.3 MySQL-5.4.xx到MySQL-5.7.xx产品线 19

2.4.4 MySQL-Cluster-6.0.xx到MySQL-Cluster-7.5.xx产品线 20

2.5 生产场景中如何选择MySQL版本 20

2.5.1 MySQL数据库发布特性 20

2.5.2 企业生产场景选择MySQL数据库的建议 20

2.6 章节试题 21

第3章 MySQL数据库安装方法及安装实践 22

3.1 MySQL数据库的安装方法及选择 22

3.1.1 yum/rpm方式安装MySQL 22

3.1.2 采用常规方式编译安装MySQL 24

3.1.3 采用cmake方式编译安装MySQL 25

3.1.4 采用二进制方式免编译安装MySQL 25

3.1.5 如何正确选择MYSQL的安装方式 25

3.2 安装并配置MySQL数据库 26

3.2.1 安装MySQL数据库 26

3.2.2 创建MySQL数据库配置文件并对数据库目录授权 30

3.2.3 初始化MySQL数据库文件 30

3.2.4 配置并启动MySQL数据库 34

3.2.5 将MySQL相关命令加入全局路径 36

3.2.6 登录MySQL测试 37

3.2.7 基本的MYSQL安全配置 38

3.3 MySQL安装FAQ 40

3.4 MySQL 5.6 编译常见参数选项说明 41

3.5 章节试题 42

第4章 MYSQL多实例数据库企业级应用实践 43

4.1 MySQL多实例介绍 43

4.1.1 什么是MYSQL多实例 43

4.1.2 MySQL多实例的作用与问题 44

4.2 MySQL多实例的生产应用场景 45

4.2.1 资金紧张型公司的选择 45

4.2.2 并发访问不是特别大的业务 45

4.2.3 门户网站应用MySQL多实例场景 45

4.3 MySQL多实例常见的配置方案 46

4.3.1 单一配置文件、单一启动程序多实例部署方案 46

4.3.2 多配置文件、多启动程序部署方案 47

4.4 安装并配置多实例MySQL数据库 47

4.4.1 安装MySQL多实例 47

4.4.2 创建MySQL多实例的数据文件目录 49

4.4.3 创建MySQL多实例的配置文件 49

4.4.4 创建MySQL多实例的启动文件 51

4.4.5 配置MySQL多实例的文件权限 54

4.4.6 MySQL相关命令加入全局路径的配置 54

4.4.7 初始化MySQL多实例的数据库文件 55

4.4.8 启动MySQL多实例数据库 57

4.4.9 MySQL多实例数据库启动故障排错说明 58

4.5 配置及管理MySQL多实例数据库 59

4.6 参考资料 63

4.7 章节试题 63

第5章 MySQL常用管理基础知识实践 64

5.1 启动与关闭MySQL 64

5.1.1 单实例MySQL启动与关闭知识 64

5.1.2 多实例MySQL启动与关闭方法示例 68

5.2 MySQL连接原理方法及提示符设置 69

5.2.1 客户端连接MySQL服务器原理结构 69

5.2.2 默认单实例MYSQL登录方法 70

5.2.3 默认多实例MYSQL登录方法 71

5.2.4 异地远程登录MySQL方法 71

5.2.5 MySQL连接提示符说明 72

5.2.6 退出MySQL数据库 73

5.3 查看MySQL命令帮助 73

5.4 设置及修改mysql root用户密码 78

5.4.1 MySQL数据库用户安全策略介绍 78

5.4.2 为管理员root用户设置及修改密码 79

5.5 找回MySQL root用户密码 80

5.5.1 找回MySQL单实例root用户密码的方法 80

5.5.2 找回MySQL多实例root用户的密码方法 82

5.6 章节试题 83

第6章 MySQL常用管理SQL语句应用实践 84

6.1 SQL介绍 84

6.1.1 什么是SQL 84

6.1.2 SQL的分类 84

6.2 SQL解析原理流程 86

6.2.1 MySQL体系结构简介 86

6.2.2 SQL解析流程介绍 87

6.3 SQL语句实践 88

6.3.1 DDL语句之管理数据库 88

6.3.2 DDL&&DCL语句之管理用户 93

6.3.3 DDL语句之管理表 105

6.3.4 DML语句之管理表中的数据 116

6.4 参考资料 126

6.5 章节试题 127

第7章 MySQL数据库备份与恢复基础实践 128

7.1 MySQL数据库的备份与恢复 128

7.1.1 备份数据的意义 128

7.1.2 使用mysqldump进行数据库备份实践 128

7.1.3 mysqldump重要关键参数说明 140

7.1.4 生产场景下,不同引擎的mysqldump备份命令 141

7.1.5 利用SQL语句方式对表进行导入导出 141

7.2 恢复数据库实践 145

7.2.1 数据库恢复基本事项 145

7.2.2 利用source命令恢复数据库 145

7.2.3 利用mysql命令恢复(标准) 147

7.2.4 利用mysql-e参数查看mysql数据 149

7.3 mysqlbinlog增量恢复工具 153

7.3.1 mysql的binlog日志是什么 153

7.3.2 mysql的binlog日志的作用 154

7.3.3 mysql的binlog日志功能如何开启 154

7.3.4 mysqlbinlog工具解析binlog日志实践 154

7.3.5 mysqlbinlog命令常用参数 156

7.4 本章重点 157

第8章 MySQL企业级备份应用知识与实践 158

8.1 数据库备份的最高层次思想 158

8.2 数据库管理员的两大工作核心 158

8.3 全量备份与增量备份 159

8.3.1 全量备份的概念 159

8.3.2 增量备份的概念 159

8.3.3 全量与增量如何结合备份 159

8.4 MySQL常用的备份方式 160

8.4.1 逻辑备份方式 160

8.4.2 物理备份方式 161

8.4.3 物理备份与逻辑备份的区别 162

8.5 逻辑备份的企业级应用实战 163

8.5.1 中小企业的MySQL备份实战 163

8.5.2 中小企业MySQL增量恢复案例实战 165

8.6 分库分表的生产备份策略 169

8.6.1 为什么要分库分表备份 169

8.6.2 如何进行分库备份 169

8.6.3 如何进行分表备份 170

8.7 MySQL生产常用备份架构方案 171

8.8 本章重点 171

第9章 MySQL物理备份工具Xtrabackup应用实践 172

9.1 Xtrabackup介绍 172

9.2 Xtrabackup备份涉及的数据库名词 172

9.3 Xtrabackup备份的工作原理流程 175

9.4 Xtrabackup工具安装 178

9.4.1 系统环境说明 178

9.4.2 安装Xtrabackup 179

9.5 Xtrabackup应用实践 179

9.5.1 用于Xtrabackup数据备份的用户 179

9.5.2 用于恢复的MySQL配置文件 180

9.5.3 Xtrabackup软件附带的备份工具说明 181

9.5.4 Innobackupex工具语法介绍 181

9.5.5 全备与恢复全备实践 182

9.5.6 增量备份与恢复增量数据实践 185

9.5.7 中小企业MySQL Xtrabackup物理增量恢复案例实战 189

9.5.8 使用Xtrabackup物理分库分表备份 194

9.5.9 使用Xtrabackup物理分库分表备份的恢复 195

第10章 MySQL数据库日志知识与企业应用实践 197

10.1 MySQL常用日志文件知识 197

10.2 错误日志的介绍与配置 198

10.3 普通查询日志的介绍与配置 199

10.4 二进制日志的介绍与配置 200

10.5 慢查询日志 208

10.6 本章重点 213

10.7 参考资料 213

第11章 MySQL数据库字符集 214

11.1 MySQL数据库字符集知识 214

11.1.1 什么是字符集 214

11.1.2 MySQL数据库字符集 215

11.1.3 常用字符集介绍与选择建议 215

11.2 MySQL数据库字符集配置 217

11.3 如何防止数据库的中文显示乱码 221

11.4 如何更改MySQL数据库库表的字符集 223

11.4.1 更改库的字符集 223

11.4.2 更改表的字符集 223

11.4.3 生产环境更改数据库(含数据)字符集的方法 224

11.5 本章重点 224

第12章 MySQL数据库存储引擎知识 226

12.1 MySQL引擎概述 226

12.1.1 什么是存储引擎? 226

12.1.2 MySQL存储引擎的架构 227

12.2 查看MySQL支持的存储引擎 228

12.3 MySQL 5.6 支持的存储引擎 229

12.4 MySQL常用存储引擎特性对比 230

12.5 设置与更改MySQL的引擎 230

12.6 MyISAM引擎 232

12.6.1 什么是MyISAM引擎? 232

12.6.2 MyISAM引擎的存储方式 232

12.6.3 MyISAM引擎的主要特点 233

12.6.4 MyISAM引擎适用的生产业务场景 233

12.7 InnoDB引擎 233

12.7.1 什么是InnoDB引擎? 233

12.7.2 InnoDB引擎的存储方式 234

12.7.3 InnoDB引擎特点 235

12.7.4 InnoDB引擎适用的生产业务场景 236

12.7.5 InnoDB引擎相关参数介绍 236

12.7.6 InnoDB引擎调优的基本方法 237

12.8 Memory存储引擎 238

12.9 ARCHIVE存储引擎 238

12.10 NDB存储引擎 239

12.11 有关MySQL引擎常见的企业面试题 240

第13章 MySQL引擎之InnoDB 241

13.1 InnoDB存储引擎介绍 241

13.2 InnoDB和ACID模型 242

13.3 InnoDB多版本控制MVCC 243

13.4 InnoDB体系结构 245

13.4.1 缓存池(buffer pool) 246

13.4.2 change pool缓存池 250

13.4.3 自适应哈希索引(AHI) 251

13.4.4 doublewrite缓存 252

13.4.5 重做日志缓存(redo log buffer) 253

13.4.6 重做日志(redo log) 253

13.4.7 系统(共享)表空间 255

13.4.8 File-per-table独立表空间设置 257

13.4.9 undo日志 260

13.4.10 临时表空间 262

13.4.11 InnoDB后台线程 262

13.5 InnoDB其他相关配置 263

13.5.1 启动配置 263

13.5.2 指定配置文件位置 264

13.5.3 数据页配置 264

13.5.4 InnoDB只读设置 264

13.5.5 InnoDB优化器统计信息配置 265

13.5.6 索引页之间合并阀值 269

13.6 InnoDB普通表空间 269

13.7 InnoDB表 270

13.7.1 InnoDB表存储结构 270

13.7.2 创建InnoDB表 271

13.7.3 修改表的存储引擎 273

13.7.4 自增长字段设置 273

13.7.5 InnoDB表主要的限制 273

第14章 MySQL主从复制知识与应用实践 274

14.1 MySQL主从复制 274

14.1.1 MySQL主从复制介绍 274

14.1.2 MySQL主从复制企业级应用场景 276

14.1.3 MySQL主从读写分离实现方案 277

14.1.4 MySQL主从复制原理 279

14.1.5 MySQL主从复制原理及过程详细描述 280

14.2 MySQL主从复制实践 282

14.2.1 主从复制实践准备 282

14.2.2 在主库Master (51)上执行操作配置 283

14.2.3 在MySQL从库上执行的操作过程 287

14.2.4 启动从库同步开关并测试主从复制 290

14.2.5 MySQL主从复制问题汇总 292

14.2.6 MySQL主从复制配置步骤小结 293

14.2.7 MySQL主从复制线程状态说明及用途 293

14.2.8 生产场景中部署MySQL主从复制方案 296

14.3 MySQL主从复制在企业中的故障案例 297

14.4 本章重点 298

14.5 参考资料 298

第15章 MySQL主从复制高级方案与应用实践 299

15.1 MySQL集群企业级架构方案 299

15.2 MySQL企业级备份策略方案 301

15.3 MySQL主从复制生产场景的常见延迟原因及防范方案 302

15.4 MySQL主从复制数据一致性企业级方案 302

15.5 MySQL多线程复制解决复制延迟实践 304

15.6 让MySQL主从复制的从库只读访问 305

15.7 MySQL主从复制读写分离Web用户生产设置方案 306

15.8 MySQL主从延迟复制方案及恢复实践 308

15.9 本章重点 314

15.10 参考资料 314

第16章 MySQL复制高级方案应用实践 315

16.1 MySQL级联复制 315

16.1.1 MySQL级联复制介绍 315

16.1.2 MySQL级联复制实现要点 316

16.1.3 MySQL级联复制的应用场景 316

16.2 MySQL主主复制 316

16.2.1 MySQL主主复制介绍 317

16.2.2 MySQL主主复制能够解决的企业问题 317

16.2.3 MySQL主主复制的企业级实现方案 318

16.2.4 主主复制实践(自增ID)准备 319

16.2.5 在主库Master (51)上执行操作配置 319

16.2.6 在主库2Master (52)上执行操作配置 320

16.2.7 在主库1 (51)上执行复制配置 322

16.2.8 在主库1和主库2进行测试 323

16.3 本章重点 324

16.4 MySQL双主复制my.cnf完整配置对比 325

第17章 MySQL半同步复制与GTID制实践 326

17.1 MySQL复制的多种工作方式 326

17.1.1 异步复制介绍 326

17.1.2 全同步复制介绍 327

17.1.3 半同步复制 327

17.2 MySQL半同步复制原理及实践准备 327

17.2.1 MySQL半同步复制介绍 327

17.2.2 MySQL半同步复制原理 328

17.2.3 MySQL半同步复制准备 329

17.3 MySQL半同步复制应用实践 330

17.3.1 MySQL半同步复制插件介绍 330

17.3.2 MySQL主库(dbOl)半同步插件安装和配置 330

17.3.3 MySQL半同步复制参数介绍 332

17.3.4 MySQL从库(db02)半同步插件安装和配置 333

17.3.5 实践1:半同步复制是否配置成功测试 335

17.3.6 实践2:半同步复制超时等待测试 336

17.3.7 实践3:主从复制故障时的半同步复制测试 338

17.4 生产半同步复制建议及其他方案说明 340

17.5 MySQL GTID复制 340

17.5.1 GTID复制简介 340

17.5.2 基于GTID复制技术的优缺点及工作原理 341

17.5.3 GTID的优缺点 342

17.5.4 MySQL GTID复制的应用及实践 342

17.5.5 GTID如何跳过事务冲突 345

17.6 本章重点 347

第18章 MySQL集群高可用方案MHA应用实践 348

18.1 什么是MHA 348

18.2 MHA的基本架构组成 348

18.3 MHA的工作原理 349

18.4 MHA工具包介绍 350

18.5 MHA解决方案的优点 351

18.6 MHA方案实战 351

18.6.1 搭建MHA的先决必要条件 351

18.6.2 MySQL节点规划 352

18.6.3 配置SSH密钥实现免密码登录 352

18.6.4 对所有的MySQL节点安装MHA Node软件 352

18.6.5 MHA管理节点安装 353

18.6.6 配置MHA管理节点 354

18.7 启动及测试MHA 355

18.7.1 启动MHA前需要检测的要素说明 355

18.7.2 检测SSH免密码登录配置 356

18.7.3 检测MySQL集群主从复制状况 356

18.8 配置VIP漂移 356

18.8.1 虚拟IP管理的两种方式 356

18.8.2 配置脚本 357

第19章 MySQL读写分离Atlas工具实践 358

19.1 什么是Atlas 358

19.2 Atlas的主要功能 358

19.3 Atlas与官方mysql-proxy的对比 359

19.4 安装Atlas 359

19.5 Atlas配置文件 359

19.6 启动Atlas 361

19.7 Atlas管理操作 361

第20章 云关系型数据库 363

20.1 阿里云RDS 364

20.2 阿里云RDS for MySQL 364

20.3 阿里云RDS云数据库的相关概念 364

20.3.1 地域 364

20.3.2 可用区 365

20.3.3 RDS实例 365

20.3.4 RDS for MySQL只读实例 365

20.3.5 RDS for MySQL克隆实例 365

20.3.6 RDS for MySQL灾备实例 366

20.3.7 RDS数据库 367

20.3.8 RDS数据库账号 367

20.3.9 RDS连接数 367

20.3.10 RDS磁盘容量 367

20.3.11 RDS for MySQL读写分离 367

20.3.12 RDS for MySQL三节 点企业版 367

20.3.13 RDS for MySQL单机版 368

20.3.14 RDS for MySQL跨可用去迁移 368

20.4 阿里云RDS for MySQL数据库实战 368

20.4.1 RDS for MySQL创建实例 368

20.4.2 RDS for MySQL升级实例 373

20.4.3 RDS for MySQL查看墓本信息 374

20.4.4 RDS for MySQL数据库管理 377

20.4.5 RDS for MySQL远程访问 383

20.4.6 RDS for MySQL备份与恢复 389

20.5 RDS for MySQL 性能优化、报警管理及安全控制 400

20.5.1 RDS for MySQL资源监控 400

20.5.2 RDS for MySQL数据安全性 400

20.5.3 RDS for MySQL性能优化 403

20.6 RDS for MySQL日志管理 404

20.7 RDS for MySQL的只读实例和克隆 405

20.7.1 RDS for MySQL只读实例 405

20.7.2 RDS for MySQL只读实例功能特点 405

20.7.3 RDS for MySQL只读实例创建过程 405

20.7.4 RDS for MySQL创建只读实例 406

20.8 RDS for MySQL只读实例实现读写分离 408

20.9 RDS for MySQL克隆实例 409

20.10 RDS for MySQL克隆实例使用场景 409

20.10.1 克隆实例用于数据回溯 409

20.10.2 克隆实例用于准生产测试 409

20.11 RDS for MySQL重点回顾 410