新書推薦:
《
台北人(2024版)
》
售價:HK$
87.4
《
让孩子更有力量:赋权型家庭教育指南
》
售價:HK$
67.0
《
白夜追凶(上下)
》
售價:HK$
109.8
《
财富、战争与智慧——二战股市风云录
》
售價:HK$
132.2
《
低空经济:中国经济发展新引擎
》
售價:HK$
88.5
《
汉字学理与小学汉字教学
》
售價:HK$
89.6
《
即将到来的能源战争
》
售價:HK$
89.4
《
时刻人文·臆造南洋:马来半岛的神鬼人兽
》
售價:HK$
65.0
|
編輯推薦: |
■ MySQL 8的更新幅度在MySQL历史上可谓空前,增添很多重磅新特性数据字典取消了已存在几十年的frm文件,将插件式数据库的重心偏向InnoDB,极大提高meta data的访问性能,并支持了DDL原子性,还可进一步实现DDL回滚等操作;支持隐藏索引,使DBA能更加灵活地对数据库调优;统计分析方面支持通用表表达式、窗口函数等,在数据库层面实现复杂计算;以及划时代变革MGR架构。
■ 使用过MySQL早期版本的数据库管理员和开发者,可通过本书了解MySQL 8的新功能及如何利用;有其他RDBMS(如Oracle、MSSQL、PostgreSQL和DB2)工作经验的读者可将本书作为学习MySQL 8的快速入门指南;初学者可作为使用手册,参考书中内容找到问题的快速解决方案;MySQL专家可以将本书作为解决不常见问题及疑难杂症的工具书。
■ 本书可让你做好应对生产环境问题的准备。读完本书后,你将有信心管理好拥有海量数据集的大型数据库服务器。作者使用MySQL超过10年,目睹大量小错误导致的重大停机事故,本书涵盖许多容易出错的场景,并用警告图标显著标出。
■ 本书介绍MySQL 8新
|
內容簡介: |
MySQL 8.0 的发布是MySQL 发展历史上的一个重要里程碑,也是开源数据库领域内的一个大事件。针对这个版本,MySQL 官方团队做了太多的工作,从查询优化到集群架构,从参数调整到特性支持,MySQL 都有了革命性的变化。本书基于MySQL 8.0,以基础知识为入手点,以讲解技术特性为目标,以案例作为理论的补充,详细介绍了MySQL 的方方面面,提供了超过150 个高性能数据库查询与管理技巧,是MySQL 入门者和管理者的必读之作。
|
關於作者: |
Karthik Appigatla是一位备受尊敬的数据库架构师,他在性能调优领域闻名于世。 他为世界各地的许多公司提供设计咨询、性能调优、数据库架构设计和培训服务。 过去十年中,他曾为雅虎、Pythian和Percona等公司工作过。目前,他正在为LinkedIn工作,在那里他发明了一种新的分析方式查询。他于2017年在都柏林的SRECon上发表了演讲。
周彦伟,Oracle ACE Director(MySQL),中国计算机行业协会开源数据库专业委员会会长,中国MySQL用户组(ACMUG)主席,曾在去哪儿网、人人网等互联网公司工作多年,专注于MySQL数据库的技术和推广,著有《MySQL运维内参》,该书被业内从业者视为MySQL面试宝典。2018年创办极数云舟,提供MySQL技术产品和顾问服务。孟治华,美国波士顿大学计算机专业硕士,拥有14年以上的数据库相关项目经验,曾多年在美国为Walmart、CVS Health等世界500强公司提供数据仓库和商业智能项目咨询服务。回国后积极参与ACMUG等知名开源社区活动,并致力于开源数据库知识的推广和传播。王学芳,中国矿业大学(北京)计算机技术专业在读研究生,对数据库很感兴趣,一直关注MySQL社区的发展动态、技术革新等内容。
|
目錄:
|
第1章安装或升级到MySQL 81
1.1引言1
1.2使用YUM APT安装MySQL2
1.3使用RPM或DEB文件安装MySQL 8.09
1.4使用通用二进制文件在Linux系统上安装MySQL12
1.5启动或停止MySQL 8的运行16
1.6卸载MySQL 820
1.7用systemd管理MySQL服务器22
1.8从MySQL 8.0降级24
1.9升级到MySQL 8.029
1.10安装MySQL工具集35
第2章使用MySQL37
2.1引言38
2.2使用命令行客户端连接到MySQL38
2.3创建数据库40
2.4创建表44
2.5插入、更新和删除行49
2.6加载示例数据52
2.7查询数据55
2.8对结果排序63
2.9对结果分组(聚合函数)64
2.10创建用户68
2.11授予和撤销用户的访问权限70
2.12查询数据并保存到文件和表中78
2.13将数据加载到表中81
2.14表关联82
2.15存储过程90
2.16函数95
2.17触发器98
2.18视图100
2.19事件102
2.20获取有关数据库和表的信息104
第3章使用MySQL(进阶)110
3.1引言110
3.2使用JSON110
3.3公用表表达式(CTE)116
3.4生成列(generated column)122
3.5窗口函数124
第4章配置MySQL129
4.1引言129
4.2使用配置文件130
4.3使用全局变量和会话变量131
4.4在启动脚本中使用参数132
4.5配置参数132
4.6更改数据目录135
第5章事务137
5.1引言137
5.2执行事务138
5.3使用保存点140
5.4隔离级别142
5.5锁147
第6章二进制日志153
6.1引言153
6.2使用二进制日志154
6.3二进制日志的格式159
6.4从二进制日志中提取语句161
6.5忽略要写入二进制日志的数据库173
6.6迁移二进制日志174
第7章备份177
7.1引言177
7.2使用mysqldump进行备份178
7.3使用mysqlpump进行备份182
7.4使用mydumper进行备份185
7.5使用普通文件进行备份191
7.6使用XtraBackup进行备份192
7.7锁定实例进行备份195
7.8使用二进制日志进行备份195
第8章恢复数据197
8.1引言197
8.2从mysqldump和mysqlpump中恢复197
8.3使用myloader从mydumper中恢复198
8.4从普通文件备份中恢复200
8.5执行时间点恢复201
第9章复制204
9.1引言204
9.2准备复制205
9.3设置主主复制212
9.4设置多源复制213
9.5设置复制筛选器220
9.6将从库由主从复制切换到链式复制222
9.7将从库由链式复制切换到主从复制227
9.8设置延迟复制231
9.9设置GTID复制234
9.10设置半同步复制238
第10章表维护243
10.1引言243
10.2安装Percona工具包244
10.3修改表结构246
10.4在数据库之间移动表248
10.5使用在线模式更改工具修改表250
10.6归档表255
10.7克隆表257
10.8分区修剪和指定269
10.9管理分区273
10.10分区信息276
10.11有效地管理生存时间和软删除行281
第11章管理表空间289
11.1引言289
11.2更改InnoDB REDO日志文件的数量或大小292
11.3调整InnoDB系统的表空间大小294
11.4在数据目录之外创建独立表空间298
11.5将独立表空间复制到另一个实例299
11.6管理UNDO表空间307
11.7管理通用表空间311
11.8压缩InnoDB表315
第12章日志管理320
12.1引言320
12.2管理错误日志320
12.3管理通用查询日志和慢查询日志328
12.4管理二进制日志335
第13章性能调优338
13.1引言338
13.2explain计划339
13.3基准查询和服务器345
13.4添加索引347
13.5不可见索引353
13.6降序索引355
13.7使用pt-query-digest分析慢查询358
13.8优化数据类型364
13.9删除重复和冗余索引366
13.10检查索引的使用情况374
13.11控制查询优化器375
13.12使用索引提示(hint)389
13.13使用生成列为JSON建立索引392
13.14使用资源组395
13.15使用performance_schema398
13.16使用sys schema405
第14章安全413
14.1引言413
14.2安全安装413
14.3限定网络和用户417
14.4使用mysql_config_editor进行无密码认证418
14.5重置root密码421
14.6使用X509设置加密连接425
14.7设置SSL复制428
|
內容試閱:
|
MySQL是当下最流行和广泛使用的关系型数据库之一。最新发布的MySQL 8能够提供比以往版本更有效的高性能结果查询和更轻松的管理配置。
本书面向的读者
这本书适合的读者范围很广。对于使用过MySQL早期版本的MySQL数据库管理员和开发者,可以通过本书了解MySQL 8的新功能以及如何利用它们;对于那些有其他RDBMS(如Oracle、MSSQL、PostgreSQL和DB2)工作经验的读者,可以将本书作为学习MySQL 8的快速入门指南;对于初学者,可以将本书作为使用手册,参考书中内容找到问题的快速解决方案。
最重要的是,本书还可以让你做好应对生产环境问题的准备。读完本书后,你将有信心管理好拥有海量数据集的大型数据库服务器。
在我使用MySQL的10年中,我目睹了许多由于小错误导致的重大停机事故。本书涵盖了许多容易出错的场景,并用警告图标显著地标出。
阅读本书,初学者并不需要反复翻阅以理解概念。书中每个主题都提供了指向MySQL文档或其他资料的参考链接,读者可以通过参考链接来了解更多详细信息。
因为这本书也适合初学者,所以可能有一些你已经知道的方法。当你读到已熟知的内容时,可以跳过它们。
本书包括的内容
俗话说,熟能生巧。但是除了练习,你还需要一些基础知识和训练。本书可以在这些方面帮你进步。书中涵盖了大多数日常实际使用的场景。
第1章介绍如何在不同版本的Linux系统上安装MySQL 8,如何从以前的稳定版本升级到MySQL 8,以及如何从MySQL 8降级。
第2章介绍MySQL的基本用法,例如创建数据库和表;以各种方式插入、更新、删除和选择数据;将数据保存到不同的目的地;对结果进行排序和分组;多表联接;管理用户及其他数据库元素,如触发器、存储过程、函数和事件;以及获取元数据信息。
第3章介绍了MySQL 8新增的功能和内容,例如JSON数据类型、公用表表达式和窗口函数。
第4章介绍了如何配置MySQL,及其基本配置参数。
第5章解释了RDBMS的4个隔离级别,以及如何将MySQL用于事务。
第6章演示了如何启用二进制日志、各种格式的二进制日志,以及如何从二进制日志中检索数据。
第7章介绍了各种类型的备份方法,每种方法的优缺点,以及如何根据需求选择适用的方法。
第8章介绍了如何从各种备份中恢复数据。
第9章介绍了如何设置各种复制拓扑。具体介绍了将从服务器由主从复制切换到链式复制的方法,以及将从服务器从链式复制切换到主从复制的方法,相信这些方法能够引起读者的兴趣。
第10章介绍了克隆表,将助你成为管理大表的行家。这一章还介绍了第三方工具的安装和使用方法。
第11章将讲述如何调整、创建、复制和管理表空间。
第12章引导读者了解错误日志、一般查询、慢查询和二进制日志。
第13章详细解释了查询和schema调优,介绍了很多方法和技巧。
第14章着重于安全方面,详细介绍了如何安全安装、限定网络和用户、设置和重置密码等方法。
充分利用本书
如果你具备Linux系统的基础知识,那么你将能更轻松地理解本书内容。
约定惯例
本书使用了许多文本约定惯例。
CodeInText:这种字体表示文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和Twitter句柄。例如,MySQL依赖于libaio库。
如果我们想要提醒你注意命令行语句中的特定部分,会将相关行或项加粗,例如:
shell sudo yum repolist all | grep mysql8
mysql80-communityx86_64 MySQL 8.0 Community Server
enabled: 16
mysql80-community-source MySQL 8.0 Community Server
disabled
命令行输入或输出的写法如下:
mysql ALTER TABLE table_name REMOVE PARTITIONING;
黑体(中文)或粗体(英文):表示新词、重点词,或者在屏幕上显示的词。例如,菜单或对话框中的单词会使用黑体或粗体。举一个具体的例子:选择用于获取MySQL 8.0的开发版本选项卡,然后选择操作系统和版本。
这个图标表示警告或重要的注意事项。
这个图标表示技巧和诀窍。
标题
在这本书里,你会发现几个经常出现的标题。为了明确说明如何操作,各个标题的使用规则如下。
准备工作
这一部分将描述本节所包含的内容,并说明完成本节内容所需的软件或设置操作。
如何操作
这一部分包含完成本节内容需要遵循的步骤。
延伸阅读
这一部分包含与本节内容相关的其他信息,以便读者形成更完整的认知。
读者服务
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http:www.broadview.com.cn35010
|
|