描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111613671
编辑推荐
本书是一本偏重实战的MySQL图书,并非大而全,但处处可以体现实战二字,丰富的知识讲解取自企业中的实战案例解决方案,并结合老男孩十几年的数据库运维工作和教学工作进行了梳理。
内容简介
全书以理论结合企业案例实战讲解为主,所讲内容100%皆为生产中的重点知识。书中先介绍数据库的基础知识,比如,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语句之管理表 / 10
第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语句之管理表 / 10
前 言
为什么要写这本书
“跟老男孩学Linux运维”系列书籍出版以来,得到了广大网友的一致好评和赞扬,但是也有很多读者和网友从各种渠道对老男孩提出了新的期待,其中之一就是系列书籍中缺少企业中为关键的MySQL实战方向的书籍。
毋庸置疑,所有互联网网站的瓶颈就是企业的后端数据库,而MySQL更是重中之重,谁掌握了数据库技术,谁就能轻松拿到高薪,并且数据库管理岗位比其他岗位更受企业重视,因为数据安全是企业重要的生命线,没有之一。由于老男孩平时教学十分繁忙,还要承担公司的管理工作,使得本书的写作一直断断续续。但是,在每次教学讲到MySQL技术时,老男孩就会想起读者和网友们的殷殷期待,于是又投入到写作中,本书就是在这种情况下完成的,在此特别感谢所有的读者和网友,没有你们的持续期待和支持,这本书就不会面世。
在长期的运维工作以及深度教学中,老男孩发现很多Linux运维人员以及大部分开发人员,都对数据库的技术一知半解,只停留在基本的安装和SQL简单使用上,更要命的是大家都觉得数据库很重要,但是在工作中又都很惧怕数据库的管理和维护。数据库的重要性是毋庸置疑的,但是数据库技术真的没那么难,更没那么可怕,只要稍加努力,普通人也可以掌握胜任数据库管理员岗位的绝大部分技能本领。
鉴于以上,作为一个曾经维护过数十台规模的混合数据库集群的过来人,老男孩决定写一本能让零基础新手以及Linux运维、开发入门人员都有信心掌握好数据库管理与维护的实战书籍,相信本书一定会让众多读者受益,提升他们的数据库管理和维护能力,实现加薪升职。本书旨在面向非专业专职数据库管理员,让所有的非专职技术人员能够具备独立(兼)管理中小企业数据库的实战能力。
本书是“跟老男孩学Linux运维”系列的第五本书(前4本已由机械工业出版社出版),更多“跟老男孩学Linux运维”实战系列图书在持续写作中,敬请期待。
读者对象
Linux入门与开发人员
Linux运维工程师
初中级数据库管理人员
网络管理员和项目实施工程师
Linux相关售前售后技术工程师
开设Linux相关课程的大中专院校
对Linux、MySQL数据库感兴趣的人群
如何阅读本书
本书依然延续老男孩写书的特点,是一本偏重实战的MySQL图书,并非大而全,但处处可以体现实战二字,丰富的知识讲解取自企业中的实战案例解决方案,并结合老男孩十几年的数据库运维工作和教学工作进行了梳理。全书从脉络上共分为20章:
第1~4章为数据库知识简介,以及MySQL数据库单/多实例安装介绍和实践,内容简单易懂,让读者能够快速上手掌握MySQL。
第5~9章讲解的是企业中MySQL数据库的常用维护和管理知识及实践、常用管理SQL语句知识及实践、数据库备份和管理知识与实践,以及企业级数据库逻辑备份与物理备份实战案例,让读者切实掌握中小企业的数据库维护本领。
第10~13章讲解的是企业中MySQL数据库常用的日志、字符集、引擎等知识,并深入讲解核心引擎InnoDB,为学好数据库知识打下坚实的基础。
第14~17章讲解的是企业中MySQL数据库的核心技术—主从复制知识,同时讲解主从复制的各种架构在企业中的实战应用、半同步与GTID下同步的应用。
第18~20章讲解的是企业中MySQL数据库集群的高可用方案以及MHA的实战案例、数据库读写分离中间件的实践、阿里云数据库RDS的基本应用实践。
勘误和支持
由于老男孩的教学任务很重,课程较多,这本书基本上都是利用早晨和夜晚的时间完成写作的,限于本人的水平和能力,加之编写的时间仓促,书中难免有疏漏和不当之处,恳请读者批评指正。你可以将书中的错误发布在专门为本书准备的博客“http://www.itblogs.cn”评论处,同时不管你遇到何种问题,都可以加入为本书准备的QQ交流群465216827(加群说明:MySQL),我将尽力为读者提供满意的解答。书中所需的工具等都将发布在上述博客中,我也会将工具相应功能的更新及时发布出来。如果你有更多的宝贵意见,欢迎发送邮件至我的邮箱[email protected]或者加老男孩助理的微信17600131504,加入本书的交流群,期待能够听到读者的真挚反馈。
致谢
感谢前阿里云资深专家肖海波为本书贡献了第20章RDS数据库内容。
感谢老男孩教育高级讲师曾老师为本书贡献了MHA/Atlas等章节内容。
感谢老男孩教育高级讲师郭老师对本书部分内容的校对和提出的修改建议。
感谢老男孩教育的每一位在校学员—你们自觉努力地学习,使得我有较多的时间持续写作。感谢你们对老男孩教育的支持。
感谢老男孩教育的每一位老师,正是你们辛勤努力的工作,让我得以有时间完成此书。
感谢森华易腾的陆锦云女士及其同事,感谢你们提供的IDC机房带宽资源并长期支持,使得本书得以顺利完成!
感谢机械工业出版社华章公司的编辑杨绣国和温莉芳女士,感谢你们的不懈支持、包容和鼓励,正是你们的鼓励和帮助引导我顺利完成全部书稿。
感谢没有提及名字的所有学生、网友以及关心关注老男孩的每一个人。
后要感谢我的父母、家人,正是你们的支持和体谅,让我有无限信心和力量去写作,并终完成此书!
谨以此书,献给支持老男孩教育的每一位朋友、学员以及众多热爱Linux运维技术的人。
“跟老男孩学Linux运维”系列书籍出版以来,得到了广大网友的一致好评和赞扬,但是也有很多读者和网友从各种渠道对老男孩提出了新的期待,其中之一就是系列书籍中缺少企业中为关键的MySQL实战方向的书籍。
毋庸置疑,所有互联网网站的瓶颈就是企业的后端数据库,而MySQL更是重中之重,谁掌握了数据库技术,谁就能轻松拿到高薪,并且数据库管理岗位比其他岗位更受企业重视,因为数据安全是企业重要的生命线,没有之一。由于老男孩平时教学十分繁忙,还要承担公司的管理工作,使得本书的写作一直断断续续。但是,在每次教学讲到MySQL技术时,老男孩就会想起读者和网友们的殷殷期待,于是又投入到写作中,本书就是在这种情况下完成的,在此特别感谢所有的读者和网友,没有你们的持续期待和支持,这本书就不会面世。
在长期的运维工作以及深度教学中,老男孩发现很多Linux运维人员以及大部分开发人员,都对数据库的技术一知半解,只停留在基本的安装和SQL简单使用上,更要命的是大家都觉得数据库很重要,但是在工作中又都很惧怕数据库的管理和维护。数据库的重要性是毋庸置疑的,但是数据库技术真的没那么难,更没那么可怕,只要稍加努力,普通人也可以掌握胜任数据库管理员岗位的绝大部分技能本领。
鉴于以上,作为一个曾经维护过数十台规模的混合数据库集群的过来人,老男孩决定写一本能让零基础新手以及Linux运维、开发入门人员都有信心掌握好数据库管理与维护的实战书籍,相信本书一定会让众多读者受益,提升他们的数据库管理和维护能力,实现加薪升职。本书旨在面向非专业专职数据库管理员,让所有的非专职技术人员能够具备独立(兼)管理中小企业数据库的实战能力。
本书是“跟老男孩学Linux运维”系列的第五本书(前4本已由机械工业出版社出版),更多“跟老男孩学Linux运维”实战系列图书在持续写作中,敬请期待。
读者对象
Linux入门与开发人员
Linux运维工程师
初中级数据库管理人员
网络管理员和项目实施工程师
Linux相关售前售后技术工程师
开设Linux相关课程的大中专院校
对Linux、MySQL数据库感兴趣的人群
如何阅读本书
本书依然延续老男孩写书的特点,是一本偏重实战的MySQL图书,并非大而全,但处处可以体现实战二字,丰富的知识讲解取自企业中的实战案例解决方案,并结合老男孩十几年的数据库运维工作和教学工作进行了梳理。全书从脉络上共分为20章:
第1~4章为数据库知识简介,以及MySQL数据库单/多实例安装介绍和实践,内容简单易懂,让读者能够快速上手掌握MySQL。
第5~9章讲解的是企业中MySQL数据库的常用维护和管理知识及实践、常用管理SQL语句知识及实践、数据库备份和管理知识与实践,以及企业级数据库逻辑备份与物理备份实战案例,让读者切实掌握中小企业的数据库维护本领。
第10~13章讲解的是企业中MySQL数据库常用的日志、字符集、引擎等知识,并深入讲解核心引擎InnoDB,为学好数据库知识打下坚实的基础。
第14~17章讲解的是企业中MySQL数据库的核心技术—主从复制知识,同时讲解主从复制的各种架构在企业中的实战应用、半同步与GTID下同步的应用。
第18~20章讲解的是企业中MySQL数据库集群的高可用方案以及MHA的实战案例、数据库读写分离中间件的实践、阿里云数据库RDS的基本应用实践。
勘误和支持
由于老男孩的教学任务很重,课程较多,这本书基本上都是利用早晨和夜晚的时间完成写作的,限于本人的水平和能力,加之编写的时间仓促,书中难免有疏漏和不当之处,恳请读者批评指正。你可以将书中的错误发布在专门为本书准备的博客“http://www.itblogs.cn”评论处,同时不管你遇到何种问题,都可以加入为本书准备的QQ交流群465216827(加群说明:MySQL),我将尽力为读者提供满意的解答。书中所需的工具等都将发布在上述博客中,我也会将工具相应功能的更新及时发布出来。如果你有更多的宝贵意见,欢迎发送邮件至我的邮箱[email protected]或者加老男孩助理的微信17600131504,加入本书的交流群,期待能够听到读者的真挚反馈。
致谢
感谢前阿里云资深专家肖海波为本书贡献了第20章RDS数据库内容。
感谢老男孩教育高级讲师曾老师为本书贡献了MHA/Atlas等章节内容。
感谢老男孩教育高级讲师郭老师对本书部分内容的校对和提出的修改建议。
感谢老男孩教育的每一位在校学员—你们自觉努力地学习,使得我有较多的时间持续写作。感谢你们对老男孩教育的支持。
感谢老男孩教育的每一位老师,正是你们辛勤努力的工作,让我得以有时间完成此书。
感谢森华易腾的陆锦云女士及其同事,感谢你们提供的IDC机房带宽资源并长期支持,使得本书得以顺利完成!
感谢机械工业出版社华章公司的编辑杨绣国和温莉芳女士,感谢你们的不懈支持、包容和鼓励,正是你们的鼓励和帮助引导我顺利完成全部书稿。
感谢没有提及名字的所有学生、网友以及关心关注老男孩的每一个人。
后要感谢我的父母、家人,正是你们的支持和体谅,让我有无限信心和力量去写作,并终完成此书!
谨以此书,献给支持老男孩教育的每一位朋友、学员以及众多热爱Linux运维技术的人。
老男孩
中国,北京,2018年11月
评论
还没有评论。