新書推薦:
《
我从何来:自我的心理学探问
》
售價:HK$
119.9
《
失败:1891—1900 清王朝的变革、战争与排外
》
售價:HK$
85.8
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:HK$
64.9
《
秦汉史讲义
》
售價:HK$
151.8
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:HK$
104.5
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:HK$
107.8
《
我的心理医生是只猫
》
售價:HK$
49.5
《
巴拉吉预言
》
售價:HK$
74.8
|
編輯推薦: |
资深数据库专家十年沉淀
详细解析MySQL数据库体系结构
技术问答,助力面试
|
內容簡介: |
目前大部分软件开发平台都基于Linux,很多互联网公司都把MySQL作为后端数据存储的数据库。如果把MySQL比喻成数据库界的一条巨龙,则本书涵盖的所有知识点就是这条巨龙的组成部分。本书深入剖析MySQL数据库体系结构,实战演练备份恢复、主从复制,详解高可用集群架构的设计与实践过程,详细梳理优化思路,展现新版本的特性,并与真实生产案例相结合,通过核心原理到王者实战,全面覆盖MySQL数据库的知识点。
|
關於作者: |
张甦,极数学院创始人之一,51CTO知名博主。近十年互联网线上处理及培训经验,专注于MySQL数据库,对MongoDB、Redis等NoSQL数据库以及Hadoop生态圈相关技术有深入研究。曾就职于数据库服务公司、某大型电商平台,及汽车类网站等大型互联网公司。麾下的学员遍布各大企业。
|
目錄:
|
第1部分 倔强青铜篇
第1章 MySQL简介与主流分支版本
1.1 MySQL简介
1.2 MySQL主流的分支版本
1.2.1 官方版本的MySQL
1.2.2 Percona Server
1.2.3 MariaDB
第2章 MySQL数据库的安装、启动和关闭
2.1 下载MySQL二进制软件包
2.2 安装前系统环境检测
2.3 MySQL 5.6版本的安装过程
2.4 创建密码
2.5 关闭MySQL数据库
2.6 基础数据库的名称
2.7 MySQL 5.7版本的安装
2.8 MySQL数据库root密码丢失的问题
2.9 MySQL数据库的连接方式
2.10 用户权限管理
第3章 MySQL体系结构与存储引擎
3.1 MySQL体系结构
3.2 Query Cache详解
3.3 存储引擎
3.4 InnoDB体系结构
3.4.1 数据库和数据库实例
3.4.2 InnoDB存储结构
3.4.3 内存结构
3.4.4 Buffer状态及其链表结构
3.4.5 各大刷新线程及其作用
3.4.6 内存刷新机制
3.4.7 InnoDB的三大特性
第4章 数据库文件
4.1 参数文件
4.2 参数类型
4.3 错误日志文件(error log)
4.4 二进制日志文件(binary log)
4.5 慢查询日志(slow log)
4.6 全量日志(general log)
4.7 审计日志(audit log)
4.8 中继日志(relay log)
4.9 Pid文件
4.10 Socket文件
4.11 表结构文件
4.12 InnoDB存储引擎文件
第5章 表
5.1 整型
5.2 浮点型
5.3 时间类型
5.4 字符串类型
5.5 字符集
5.6 表碎片产生的原因
5.7 碎片计算方法及整理过程
5.8 表统计信息
5.9 统计信息的收集方法
5.10 MySQL库表常用命令总结
第6章 索引
6.1 二叉树结构
6.2 平衡二叉树结构
6.3 B-tree结构
6.4 B tree
6.4.1 聚集索引和普通索引
6.4.2 ICP、MRR和BKA
6.4.3 主键索引和唯一索引
6.4.4 覆盖索引
6.4.5 前缀索引
6.4.6 联合索引
6.5 哈希索引
6.6 索引的总结
第7章 事务
7.1 事务的特性
7.2 事务语句
7.3 truncate和delete的区别
7.4 事务的隔离级别
7.5 细说脏读、不可重复读、幻读、可重复读现象
7.5.1 脏读
7.5.2 不可重复读与幻读
7.5.3 可重复读
第8章 锁
8.1 InnoDB的锁类型
8.1.1 读锁
8.1.2 写锁
8.1.3 MDL锁
8.1.4 意向锁
8.2 InnoDB行锁种类
8.2.1 单个行记录的锁
8.2.2 间隙锁(GAP lock)
8.2.3 Next-key Locks
8.3 锁等待和死锁
8.4 锁问题的监控
第2部分 秩序白银篇
第9章 备份恢复
9.1 MySQL的备份方式
9.2 冷备及恢复
9.3 热备及恢复
9.3.1 mysqldump的备份与恢复
9.3.2 select into outfile
9.3.3 load data与insert的插入速度对比
9.3.4 mydumper
9.3.5 裸文件备份XtraBackup
9.4 流式化备份
9.4.1 非压缩模式的备份
9.4.2 压缩模式的备份
9.4.3 远程备份
9.5 表空间传输
9.6 利用binlog2sql进行闪回
9.7 binlog server
9.8 总结
第3部分 荣耀黄金篇
第10章 主从复制概述
10.1 常见的几种主从架构模式图
10.2 主从复制功能
10.3 主从复制原理
10.4 复制中的重点参数详解
第11章 复制原理及实战演练
11.1 异步复制
11.2 主从复制故障处理
11.3 半同步复制
11.4 半同步复制和异步复制模式的切换
11.5 GTID 复制
11.5.1 GTID原理介绍
11.5.2 GTID存在的价值
11.5.3 主从复制中GTID的管理与维护
11.5.4 GTID复制与传统复制的切换
11.5.5 GTID使用中的限制条件
11.6 多源复制
11.7 主从延迟的解决方案及并行复制
11.8 主从复制的数据校验
11.9 总结
第4部分 尊贵铂金篇
第12章 MHA
12.1 MHA简介
12.1.1 MHA部署
12.1.2 MHA原理
12.1.3 MHA的优缺点
12.1.4 MHA工具包的功能
12.2 实战演练
第13章 Keepalived 双主架构
13.1 Keepalived介绍
13.2 集群搭建思路及建议
13.3 实验部署演练
第14章 PXC
14.1 PXC原理
14.2 PXC架构的优缺点
14.3 PXC中重要概念和重点参数
14.4 PXC架构搭建实战
14.5 PXC集群状态的监控
14.6 从节点在线转化为PXC节点
第15章 ProxySQL
15.1 ProxySQL的安装与启动
15.2 配置ProxySQL监控
15.3 ProxySQL的多层配置系统
15.4 配置ProxySQL主从分组信息
15.5 配置读写分离策略
15.6 测试读写分离
15.7 总结
第5部分 永恒钻石篇
第16章 MySQL 5.7新特性
16.1 InnoDB存储引擎的增强
16.2 其他方面的增强
第17章 MySQL全面优化
17.1 硬件优化
17.2 配置参数优化
17.3 从Linux操作系统层面来谈对MySQL的优化
17.4 表设计及其他优化
17.5 整体管理优化总结
第6部分 至尊星耀篇
第18章 Lepus之MySQL监控
18.1 Lepus简介
18.2 实战部署
18.3 监控MySQL服务器
18.4 部署Lepus慢查询分析平台实战
18.5 监控总结
第19章 MySQL版本升级
19.1 升级方式
19.2 实战演练
第7部分 最强王者篇
第20章 MySQL面试宝典
20.1 自我介绍
20.2 技术问答
|
內容試閱:
|
找到一份合适的工作,就像在工作的八小时之内有了一个心仪的恋人MySQL数据库就是我的甜蜜爱恋。
我上学时特别不爱学习,也从来没有想过,也不敢想,有一天自己会写本书。作为一个在数据库领域摸爬滚打近十年的老司机,从一个什么都不会的菜鸟,做到公司的高管兼资深数据库讲师,我很希望把自己这些年积累下来的实战经验和一些学习MySQL数据库的心得体会分享给大家。我很能理解那些刚进入数据库领域的同学的困惑,因为自己刚学习MySQL的时候,就跟无头苍蝇一样,遇到报错后在网上到处找资料,关键是看完资料后有些问题可能还是解决不了,因为不知道哪种处理方法是对的。当时很崩溃,真心不知道该从哪里下手学习才好。别人还经常推荐一些过于偏向概念性叙述的数据库书籍,越看越晕。我当时就想为什么非要把数据库的知识点说得这么烦琐、深奥,让别人看不懂、理解不了呢?
写作本书的目的 我平常喜欢写一些技术博客,在51CTO上面写了一篇青铜到王者,快速提高MySQL数据库段位的文章,这篇文章指明了MySQL数据库的一个学习方向,但没有深入展开讲解里面的核心知识点。有读者发私信和留言说,能不能更具体地展开讲解呢。所以我决定把里面所有核心的技术干货写成书,毫无保留地分享给大家。希望本书对大家在生产中实践MySQL时有帮助,可以让有一定基础的、有工作经验的运维人员和DBA更加深入地了解MySQL,使用和维护起来更加得心应手,更希望可以让刚踏入数据库领域的读者快速掌握MySQL数据库的核心知识体系,给那些想学习MySQL数据库的入门者指明一个正确方向,少走一些弯路。让我们一起朝着技术领域金字塔的塔尖大步前行。
如何阅读本书 本书在知识结构上分为7部分。
第1部分 倔强青铜篇(第1~8章)。包括MySQL简介、主流分支版本、数据库安装启动关闭、权限管理、MySQL数据库的内存池结构、存储引擎、线程作用、刷新机制、数据库文件、表管理、字符集、统计信息与数据碎片整理的方法。还包括对索引的详细解读,执行计划的分析、压力测试的展现、事务的介绍,以及对隔离级别的深度讲解,并结合锁一起展开学习。
第2部分 秩序白银篇(第9章)。介绍生产环境中常用的备份方法、逻辑备份和裸文件备份。针对mysqldump、selectinto outfile、mydumper和xtrabackup等备份恢复工具的原理展开详解及实践演练。
第3部分 荣耀黄金篇(第10~11章)。介绍主从复制的原理,对复制参数进行详细讲解,对半同步复制、多源复制、GTID复制进行全面解读与实践,对复制数据一致性的校验和复制管理技巧进行介绍,并解读主从复制中的各种报错故障。
第4部分 尊贵铂金篇(第12~15章)。介绍互联网主流的MySQL高可用集群架构,对MHA、Keepalived、PXC原理的解析、维护管理与实践,最后介绍ProxySQL这个强大的MySQL中间代理层的应用。
第5部分 永恒钻石篇(第16~17章)。介绍MySQL5.7版本的新特性,以及通过硬件、操作系统、数据库、程序设计这四个维度来全面介绍MySQL数据库的优化。
第6部分 至尊星耀篇(第18~19章)。学习部署Lepus,监控MySQL与版本升级。
第7部分 最强王者篇 第20章。MySQL面试总结。
致谢 在我从事数据库工作近十年的道路上,我要感谢那些曾经帮助过我的前辈们,当我遇到困难想要放弃这个行业时,是你们耐心的开导与指引,才使我没有失去方向,一直坚持到今天。我也要感谢51CTO这个平台,让我可以把自己工作中的经验分享给大家,感谢51CTO的运营经理高阳,不厌其烦地帮我整理博客中的一些素材,才能让我的文章以很好的方式呈现给大家。最后还要感谢电子工业出版社的陈晓猛编辑,感谢你的独具慧眼和对我无条件的支持与鼓励,让我可以非常顺利地完成写作。
技术无国界,让我们一起热爱技术、分享知识,打造出属于自己的一片广阔天空。此书献给所有喜欢技术的朋友们!
联系方式 欢迎大家与我互动,联系方式如下。
博客:sumongodb.blog.51cto.com。
张甦
|
|