• MySQL技术大全:开发 优化与运维实战
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

MySQL技术大全:开发 优化与运维实战

94 4.7折 199 九五品

仅1件

河北廊坊
认证卖家担保交易快速发货售后保障

作者冰河

出版社机械工业出版社

出版时间2020-11

版次1

印数1千册

装帧其他

上书时间2024-06-26

书香文华阁

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
图书标准信息
  • 作者 冰河
  • 出版社 机械工业出版社
  • 出版时间 2020-11
  • 版次 1
  • ISBN 9787111668985
  • 定价 199.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 760页
  • 字数 10920千字
【内容简介】
《MySQL技术大全:开发、优化与运维实战(视频教学版)》结合大量示例和实战案例,全面、系统、深入地介绍了MySQL数据库技术,重点阐述了MySQL开发、优化和运维过程中的各个技术点。《MySQL技术大全:开发、优化与运维实战(视频教学版)》对学习MySQL技术有较高的参考价值,尤其是环境搭建、优化、维护和架构等内容可直接用于实际工作中。
  《MySQL技术大全:开发、优化与运维实战(视频教学版)》共33章,分为6篇。第1篇“MySQL基础”,介绍数据库的定义、发展,以及数据库技术和MySQL数据库的三大范式与存储引擎。第2篇“环境搭建”,介绍VMware虚拟机以及Windows、Mac OS X和CentOS操作系统的安装,并介绍如何在三大操作系统上安装和配置MySQL。第3篇“MySQL开发”,介绍MySQL中的数据库操作、数据表操作、数据类型、运算符、函数、数据变更、数据查询、索引、视图、存储过程、触发器、分区、公用表表达式和生成列等。第4篇“MySQL优化”,介绍MySQL中的查询优化、索引优化、SQL语句优化、数据库优化、服务器优化、应用程序优化及其他优化技术。第5篇“MySQL运维”,介绍MySQL中各种命令行工具的使用,以及各种日志的开启、查看、删除与关闭,并介绍数据的备份与恢复及MySQL中的账户管理。第6篇“MySQL架构”,介绍MySQL中的复制、读写分离环境搭建,以及如何实现MySQL的高可用架构等。
  《MySQL技术大全:开发、优化与运维实战(视频教学版)》适合想全面学习MySQL的数据库管理人员、开发人员、运维工程师和架构师阅读,也适合各大院校的学生及相关培训机构的学员阅读。另外,《MySQL技术大全:开发、优化与运维实战(视频教学版)》还非常适合作为一本案头手册供相关技术人员随查随用。
【作者简介】
冰河  大数据架构师,编程专家,Mykit系列开源框架作者,基于最终消息可靠性的开源分布式事务框架mykit-transaction-message的作者。长期致力于分布式系统架构、微服务架构、分布式数据库、分布式事务与大数据技术的研究,并主导过众多相关项目的架构设计、研发和实施落地。在高并发、高可用、高可扩展、高可维护和大数据等技术领域有丰富的实战经验。对Hadoop、Storm、Spark和Flink等大数据框架的源码做过深度分析。目前致力于云原生技术的研究。运营“冰河技术”公众号,著有《海量数据处理与大数据技术实战》。
【目录】
前言

第1篇  MySQL基础

第1章  数据库概述 2

1.1  数据库的定义 2

1.1.1  数据库 2

1.1.2  数据库管理系统 2

1.1.3  数据表 3

1.1.4  数据类型 3

1.1.5  运算符 4

1.1.6  函数 4

1.1.7  主键 4

1.1.8  外键 4

1.1.9  索引 6

1.1.10  视图 6

1.1.11  存储过程 6

1.1.12  触发器 6

1.1.13  存储引擎 7

1.2  数据库的发展 7

1.2.1  人工管理阶段 7

1.2.2  文件系统阶段 7

1.2.3  数据库系统阶段 8

1.2.4  云数据库阶段 8

1.3  本章总结 8

第2章  数据库技术 9

2.1  数据库系统 9

2.2  SQL语言 11

2.2.1  SQL语言分类 11

2.2.2  ER图 12

2.2.3  SQL执行流程 14

2.3  数据库访问技术 15

2.4  本章总结 16

第3章  MySQL数据库 17

3.1  MySQL三大范式 17

3.1.1  第一范式 17

3.1.2  第二范式 18

3.1.3  第三范式 19

3.1.4  反范式化 19

3.2  MySQL存储引擎 20

3.2.1  查看MySQL中的存储引擎 20

3.2.2  常用存储引擎介绍 21

3.3  本章总结 23

第2篇  环境搭建

第4章  安装三大操作系统 26

4.1  安装VMware虚拟机 26

4.1.1  下载VMware虚拟机 26

4.1.2  安装VMware虚拟机步骤 30

4.2  安装Windows操作系统 31

4.2.1  下载Windows操作系统 31

4.2.2  设置VMware虚拟机 33

4.2.3  安装Windows操作系统步骤 38

4.3  安装Mac OS X操作系统 44

4.3.1  设置VMware虚拟机 45

4.3.2  安装Mac OS X操作系统步骤 46

4.4  安装CentOS操作系统 55

4.4.1  下载CentOS操作系统 55

4.4.2  设置VMware虚拟机 56

4.4.3  安装CentOS操作系统步骤 56

4.5  本章总结 65

第5章  服务器基础配置 66

5.1  配置CentOS 6.8服务器环境 66

5.1.1  修改主机名 66

5.1.2  配置静态IP地址 69

5.1.3  配置主机名和IP地址的映射关系 71

5.1.4  配置防火墙规则 71

5.1.5  配置root用户SSH免密码登录 73

5.2  添加mysql用户身份 75

5.2.1  添加mysql用户组和用户 75

5.2.2  赋予mysql用户目录权限 75

5.2.3  赋予mysql用户sudo权限 76

5.2.4  赋予mysql用户登录密码 76

5.2.5  配置mysql用户SSH免密码登录 76

5.3  本章总结 77

第6章  搭建MySQL环境 78

6.1  基于MSI文件安装Windows版本的MySQL 78

6.1.1  下载MySQL的MSI安装包 78

6.1.2  基于MSI文件安装MySQL 80

6.1.3  配置MySQL系统环境变量 90

6.1.4  测试MySQL 92

6.2  基于ZIP文件安装Windows版本的MySQL 92

6.2.1  下载MySQL的ZIP安装包 92

6.2.2  基于ZIP文件安装MySQL 94

6.2.3  配置MySQL系统环境变量 96

6.2.4  测试MySQL 97

6.3  基于DMG文件安装Mac OS X版本的MySQL 98

6.3.1  下载MySQL的DMG安装包 98

6.3.2  基于DMG文件安装MySQL 100

6.3.3  配置MySQL系统环境变量 102

6.3.4  测试MySQL 104

6.4  基于GZ文件安装Mac OS X版本的MySQL 105

6.4.1  下载MySQL的GZ安装包 105

6.4.2  基于GZ文件安装MySQL 105

6.4.3  配置MySQL系统环境变量 107

6.4.4  测试MySQL 107

6.5  基于RPM文件安装CentOS版本的MySQL 109

6.5.1  删除CentOS 6.8服务器自带的MySQL 109

6.5.2  下载MySQL的RPM安装包 110

6.5.3  基于RPM文件安装MySQL 111

6.5.4  测试MySQL 113

6.6  基于源码安装CentOS版本的MySQL 114

6.6.1  环境准备 115

6.6.2  下载软件包 116

6.6.3  升级gcc和cmake 117

6.6.4  编译安装MySQL源码 119

6.6.5  配置MySQL 120

6.6.6  初始化并启动MySQL服务 123

6.6.7  测试MySQL 123

6.6.8  编译安装MySQL的boost源码 124

6.7  遇到的问题和解决方案 125

6.8  本章总结 126

第3篇  MySQL开发

第7章  MySQL操作数据库 128

7.1  创建数据库 128

7.1.1  使用CREATE DATABASE语句创建数据库 128

7.1.2  使用CREATE DATABASE IF NOT EXISTS语句创建数据库 129

7.2  查看数据库 130

7.2.1  查看MySQL中存在的数据库 130

7.2.2  查看MySQL命令行所在的数据库 131

7.2.3  查看数据库的创建信息 131

7.3  修改数据库名称 132

7.3.1  通过重命名数据表修改数据库名称 132

7.3.2  通过导入/导出数据修改数据库名称 133

7.3.3  通过创建数据表修改数据库名称 134

7.4  数据库编码 135

7.4.1  创建数据库时指定字符编码 135

7.4.2  修改数据库的字符编码 136

7.5  删除数据库 136

7.6  本章总结 137

第8章  MySQL操作数据表 138

8.1  创建数据表 138

8.1.1  创建空数据表 138

8.1.2  创建数据表时指定主键 141

8.1.3  创建数据表时指定外键 142

8.1.4  创建数据表时指定字段非空 144

8.1.5  创建数据表时指定默认值 144

8.1.6  创建数据表时指定主键默认递增 145

8.1.7  创建数据表时指定存储引擎 146

8.1.8  创建数据表时指定编码 146

8.2  查看数据表结构 147

8.2.1  使用DESCRIBE/DESC语句查看表结构 147

8.2.2  使用SHOW CREATE TABLE语句查看表结构 148

8.3  修改数据表 149

8.3.1  修改数据表名称 150

8.3.2  添加字段 150

8.3.3  添加字段时指定位置 151

8.3.4  修改字段名称 153

8.3.5  修改字段的数据类型 154

8.3.6  修改字段的位置 154

8.3.7  删除字段 156

8.3.8  修改已有表的存储引擎 157

8.3.9  取消数据表的外键约束 158

8.4  删除数据表 158

8.4.1  删除没有关联关系的数据表 158

8.4.2  删除有外键约束的主表 160

8.5  MySQL中的临时表 160

8.5.1  创建临时表 161

8.5.2  删除临时表 161

8.6  本章总结 162

第9章  MySQL数据类型 163

9.1  数值类型 163

9.1.1  整数类型 163

9.1.2  浮点数类型 168

9.1.3  定点数类型 171

9.2  日期和时间类型 173

9.2.1  YEAR类型 174

9.2.2  TIME类型 176

9.2.3  DATE类型 178

9.2.4  DATETIME类型 181

9.2.5  TIMESTAMP类型 183

9.3  文本字符串类型 186

9.3.1  文本字符串类型概述 186

9.3.2  CHAR与VARCHAR类型 187

9.3.3  TEXT类型 188

9.3.4  ENUM类型 189

9.3.5  SET类型 191

9.3.6  JSON类型 192

9.4  二进制字符串类型 193

9.4.1  二进制字符串类型概述 193

9.4.2  BIT类型 194

9.4.3  BINARY与VARBINARY类型 195

9.4.4  BLOB类型 196

9.5  本章总结 196

第10章  MySQL运算符 197

10.1  算术运算符 197

10.1.1  MySQL支持的算术运算符 197

10.1.2  算术运算符简单示例 198

10.2  比较运算符 199

10.2.1  MySQL支持的比较运算符 199

10.2.2  比较运算符简单示例 201

10.3  逻辑运算符 206

10.3.1  MySQL支持的逻辑运算符 206

10.3.2  逻辑运算符简单示例 206

10.4  位运算符 208

10.4.1  MySQL支持的位运算符 208

10.4.2  位运算符简单示例 208

10.5  运算符的优先级 210

10.6  本章总结 211

第11章  MySQL函数 212

11.1  MySQL函数简介 212

11.2  数学函数 213

11.2.1  绝对值函数 213

11.2.2  圆周率函数 213

11.2.3  获取整数的函数 213

11.2.4  返回列表中的最大值与最小值函数 214

11.2.5  角度与弧度互换函数 215

11.2.6  三角函数 215

11.2.7  乘方与开方函数 217

11.2.8  对数函数 218

11.2.9  随机函数 219

11.2.10  四舍五入与数字截取函数 220

11.2.11  符号函数 221

11.2.12  数学运算函数 221

11.3  字符串函数 222

11.3.1  ASCII(S)函数 222

11.3.2  CHAR_LENGTH(S)函数 222

11.3.3  LENGTH(S)函数 223

11.3.4  CONCAT(S1,S2,…,Sn)函数 223

11.3.5  CONCAT_WS(X, S1,S2,…,Sn)函数 223

11.3.6  INSERT(oldstr, x, y, replacestr)函数 224

11.3.7  LOWER(S)函数 224

11.3.8  UPPER(S)函数 225

11.3.9  LEFT(str, x)函数 225

11.3.10  RIGHT(str, x)函数 225

11.3.11  LPAD(str, n pstr)函数 226

11.3.12  RPAD(str, n, pstr)函数 226

11.3.13  LTRIM(S)函数 226

11.3.14  RTRIM(S)函数 226

11.3.15  TRIM(S)函数 227

11.3.16  TRIM(substr FROM str)函数 227

11.3.17  REPEAT(str, x)函数 227

11.3.18  REPLACE(S,A,B)函数 227

11.3.19  STRCMP(S1, S2)函数 228

11.3.20  SUBSTR(S, X, Y)函数 228

11.3.21  MID(S, X, Y)函数 228

11.3.22  SPACE(X)函数 229

11.3.23  LOCATE(substr, str)函数 229

11.3.24  ELT(M, S1, S2, …, Sn)函数 230

11.3.25  FIELD(S,S1,S2,…,Sn)函数 230

11.3.26  FIND_IN_SET(S1, S2)函数 230

11.3.27  REVERSE(S)函数 231

11.3.28  NULLIF(value1, value2)函数 231

11.4  日期和时间函数 231

11.4.1  CURDATE()函数 232

11.4.2  CURTIME()函数 232

11.4.3  NOW()函数 232

11.4.4  UNIX_TIMESTAMP(date)函数 233

11.4.5  FROM_UNIXTIME(timestamp)函数 233

11.4.6  UTC_DATE()函数 233

11.4.7  UTC_TIME()函数 234

11.4.8  YEAR(date)函数 234

11.4.9  MONTH(date)函数 234

11.4.10  MONTHNAME(date)函数 235

11.4.11  DAY(date)函数 235

11.4.12  DAYNAME(date)函数 235

11.4.13  DAYOFWEEK(date)函数 235

11.4.14  WEEKDAY(date)函数 236

11.4.15  WEEK(date)函数 236

11.4.16  WEEKOFYEAR(date)函数 236

11.4.17  DAYOFYEAR(date)函数 237

11.4.18  DAYOFMONTH(date)函数 237

11.4.19  QUARTER(date)函数 237

11.4.20  HOUR(time)函数 237

11.4.21  MINUTE(time)函数 238

11.4.22  SECOND(time)函数 238

11.4.23  EXTRACT(type FROM date)函数 238

11.4.24  TIME_TO_SEC(time)函数 239

11.4.25  SEC_TO_TIME(seconds)函数 240

11.4.26  DATE_ADD(date, INTERVAL expr type)函数 240

11.4.27  DATE_SUB(date, INTERVAL expr type)函数 241

11.4.28  ADDTIME(time1, time2)函数 241

11.4.29  SUBTIME(time1, time2)函数 242

11.4.30  DATEDIFF(date1, date2)函数 242

11.4.31  FROM_DAYS(N)函数 242

11.4.32  LAST_DAY(date)函数 243

11.4.33  MAKEDATE(year, n)函数 243

11.4.34  MAKETIME(hour, minute, second)函数 243

11.4.35  PERIOD_ADD(time, n)函数 244

11.4.36  TO_DAYS(date)函数 244

11.4.37  DATE_FORMAT(date, format)函数 244

11.4.38  TIME_FORMAT(time, format)函数 245

11.4.39  GET_FORMAT(date_type, format_type)函数 246

11.4.40  STR_TO_DATE(str, format)函数 246

11.5  流程处理函数 247

11.5.1  IF(value, value1,value2)函数 247

11.5.2  IFNULL(value1, value2)函数 247

11.5.3  CASE WHEN THEN函数 247

11.5.4  CASE expr WHEN函数 248

11.6  加密与解密函数 248

11.6.1  PASSWORD(value)函数 249

11.6.2  MD5(value)函数 249

11.6.3  ENCODE(value, password_seed)函数 249

11.6.4  DECODE(value, password_seed)函数 249

11.7  聚合函数 250

11.7.1  COUNT(*/字段名称)函数 250

11.7.2  MAX(字段名称)函数 251

11.7.3  MIN(字段名称)函数 251

11.7.4  SUM(字段名称)函数 251

11.7.5  AVG(字段名称)函数 251

11.8  获取MySQL信息函数 252

11.8.1  VERSION()函数 252

11.8.2  CONNECTION_ID()函数 252

11.8.3  DATABASE()函数 252

11.8.4  USER()函数 253

11.8.5  LAST_INSERT_ID()函数 253

11.8.6  CHARSET(value)函数 254

11.8.7  COLLATION(value)函数 254

11.9  加锁与解锁函数 254

11.9.1  GET_LOCK(value, timeout)函数 254

11.9.2  RELEASE_LOCK(value)函数 255

11.9.3  IS_FREE_LOCK(value)函数 255

11.9.4  IS_USED_LOCK(value)函数 255

11.10  JSON函数 256

11.10.1  JSON_CONTAINS(json_doc, value)函数 256

11.10.2  JSON_SEARCH(json_doc ->> \'$[*].key\', type, value)函数 257

11.10.3  JSON_PRETTY(json_doc)函数 257

11.10.4  JSON_DEPTH(json_doc)函数 257

11.10.5  JSON_LENGTH(json_doc[, path])函数 258

11.10.6  JSON_KEYS(json_doc[, path])函数 258

11.10.7  JSON_INSERT(json_doc, path, val[, path, val] ...)函数 258

11.10.8  JSON_REMOVE(json_doc, path[, path] ...)函数 259

11.10.9  JSON_REPLACE(json_doc, path, val[, path, val] ...)函数 259

11.10.10  JSON_SET(json_doc, path, val[, path, val] ...)函数 260

11.10.11  JSON_TYPE(json_val)函数 261

11.10.12  JSON_VALID(value)函数 261

11.11  窗口函数 261

11.11.1  序号函数 263

11.11.2  分布函数 264

11.11.3  前后函数 265

11.11.4  首尾函数 267

11.11.5  其他函数 268

11.12  MySQL的其他函数 269

11.12.1  FORMAT(value, n)函数 269

11.12.2  CONV(value, from, to)函数 269

11.12.3  INET_ATON(value)函数 270

11.12.4  INET_NTOA(value)函数 270

11.12.5  BENCHMARK(n, expr)函数 270

11.12.6  CAST(value AS type)函数 271

11.12.7  CONVERT(value USING char_code)函数 271

11.13  本章总结 272

第12章  MySQL数据变更 273

12.1  数据插入 273

12.1.1  数据插入规则 273

12.1.2  插入完整的行记录 274

12.1.3  指定字段插入数据 275

12.1.4  一次插入多条数据记录 276

12.1.5  将查询结果插入另一个表中 278

12.2  数据更新 280

12.2.1  更新数据表中的所有记录 281

12.2.2  更新表中特定的数据行 281

12.2.3  更新某个范围内的数据 282

12.2.4  更新符合正则表达式的数据 285

12.3  数据删除 286

12.3.1  删除数据表中特定的数据 286

12.3.2  删除某个范围内的数据 286

12.3.3  删除符合正则表达式的数据 289

12.3.4  删除数据表中的所有数据 289

12.4  本章总结 289

第13章  MySQL数据查询 290

13.1  数据准备 290

13.2  SELECT查询语句 291

13.2.1  查询表中所有字段的数据 291

13.2.2  查询表中单个字段的数据 293

13.2.3  查询表中指定字段的数据 294

13.2.4  使用完全限定字段名查询数据 294

13.2.5  使用完全限定表名查询数据 295

13.3  WHERE条件语句 296

13.3.1  WHERE语句语法格式 296

13.3.2  查询单一的特定数据 296

13.3.3  查询某个范围内的数据 297

13.3.4  IN和NOT IN条件语句 297

13.3.5  BETWEEN AND条件语句 298

13.3.6  LIKE条件语句 299

13.3.7  空值条件限制语句 300

13.3.8  AND语句 302

13.3.9  OR语句 303

13.3.10  DISTINCT语句 303

13.3.11  ORDER BY语句 304

13.3.12  GROUP BY语句 306

13.3.13  HAVING语句 308

13.3.14  WITH ROLLUP语句 308

13.3.15  对数据同时进行分组与排序 308

13.3.16  LIMIT语句 309

13.4  数据聚合查询 310

13.4.1  查询数据的总行数 310

13.4.2  查询某列数据的总和 311

13.4.3  查询某列数据的最小值 312

13.4.4  查询某列数据的最大值 312

13.4.5  查询某列数据的平均值 313

13.5  JOIN语句 314

13.5.1  INNER JOIN语句 314

13.5.2  LEFT JOIN语句 315

13.5.3  RIGHT JOIN语句 316

13.5.4  CROSS JOIN 语句 317

13.5.5  使用复合连接条件查询数据 317

13.6  子查询语句 318

13.6.1  ANY子查询 318

13.6.2  ALL子查询 319

13.6.3  EXISTS子查询 319

13.6.4  NOT EXISTS子查询 320

13.6.5  IN子查询 320

13.6.6  NOT IN子查询 321

13.6.7  子查询作为结果字段 321

13.7  UNION联合语句 322

13.7.1  UNION语句 322

13.7.2  UNION ALL语句 323

13.8  使用别名查询数据 323

13.8.1  为字段名指定别名 323

13.8.2  为表名指定别名 324

13.8.3  同时为字段名和表名指定别名 325

13.9  使用正则表达式查询数据 325

13.10  本章总结 326

第14章  MySQL索引 327

14.1  索引简介 327

14.1.1  MySQL遍历表的方式 327

14.1.2  索引的优点与缺点 328

14.1.3  索引的创建原则 328

14.2  索引的使用场景 329

14.2.1  适合创建索引的场景 329

14.2.2  不适合创建索引的场景 330

14.3  创建数据表时创建索引 330

14.3.1  语法格式 330

14.3.2  创建普通索引 331

14.3.3  创建唯一索引 332

14.3.4  创建主键索引 333

14.3.5  创建单列索引 333

14.3.6  创建组合索引 334

14.3.7  创建全文索引 337

14.3.8  创建空间索引 338

14.4  为已有数据表添加索引 338

14.4.1  语法格式 339

14.4.2  创建普通索引 339

14.4.3  创建唯一索引 340

14.4.4  创建主键索引 341

14.4.5  创建单列索引 342

14.4.6  创建组合索引 343

14.4.7  创建全文索引 344

14.4.8  创建空间索引 345

14.5  删除索引 347

14.5.1  语法格式 347

14.5.2  删除索引方式 347

14.6  隐藏索引 348

14.6.1  隐藏索引概述 349

14.6.2  语法格式 349

14.6.3  创建测试表 349

14.6.4  索引操作 350

14.7  降序索引 355

14.7.1  降序索引概述 355

14.7.2  降序索引操作 355

14.8  函数索引 359

14.8.1  函数索引概述 359

14.8.2  函数索引操作 359

14.9  本章总结 363

第15章  MySQL视图 364

15.1  视图概述 364

15.1.1  视图的概念 364

15.1.2  视图的优点 364

15.2  创建视图 365

15.2.1  语法格式 365

15.2.2  创建单表视图 366

15.2.3  创建多表联合视图 369

15.3  查看视图 370

15.3.1  使用SHOW TABLES语句查看视图 370

15.3.2  使用DESCRIBE/DESC语句查看视图 371

15.3.3  使用SHOW TABLE STATUS语句查看视图 371

15.3.4  使用SHOW CREATE VIEW语句查看视图 373

15.3.5  查看views数据表中的视图信息 373

15.4  修改视图的结构 374

15.4.1  使用CREATE OR REPLACE VIEW语句修改视图结构 374

15.4.2  使用ALTER语句修改视图结构 375

15.5  更新视图的数据 376

15.5.1  直接更新视图数据 376

15.5.2  间接更新视图数据 379

15.6  删除视图 381

15.7  本章总结 382

第16章  存储过程和函数 383

16.1  存储过程和函数简介 383

16.1.1  什么是存储过程和函数 383

16.1.2  存储过程和函数的使用场景 384

16.1.3  存储过程和函数的优点 384

16.2  创建存储过程和函数 386

16.2.1  创建存储过程 386

16.2.2  创建存储函数 388

16.3  查看存储过程和函数 389

16.3.1  查看存储过程和函数的创建或定义信息 389

16.3.2  查看存储过程和函数的状态信息 390

16.3.3  从数据库中查看存储过程和函数的信息 391

16.4  修改存储过程和函数 394

16.4.1  修改存储过程 394

16.4.2  修改存储函数 395

16.5  调用存储过程和函数 396

16.5.1  调用存储过程 396

16.5.2  调用存储函数 397

16.6  删除存储过程和函数 398

16.6.1  删除存储过程 398

16.6.2  删除存储函数 398

16.7  MySQL中使用变量 399

16.7.1  定义变量 399

16.7.2  变量赋值 400

16.8  MySQL中使用变量案例 401

16.8.1  在存储过程中使用变量 401

16.8.2  在函数中使用变量 402

16.9  定义条件和处理程序 403

16.9.1  定义条件 403

16.9.2  定义处理程序 404

16.10  定义条件和处理程序案例 405

16.10.1  在存储过程中未定义条件和处理程序 406

16.10.2  在存储过程中定义条件和处理程序 407

16.10.3  在函数中未定义条件和处理程序 408

16.10.4  在函数中定义条件和处理程序 409

16.11  MySQL中游标的使用 410

16.11.1  声明游标 410

16.11.2  打开游标 410

16.11.3  使用游标 411

16.11.4  关闭游标 411

16.12  MySQL中游标的使用案例 412

16.12.1  在存储过程中使用游标 412

16.12.2  在函数中使用游标 413

16.13  MySQL中控制流程的使用 414

16.13.1  使用IF语句控制流程 414

16.13.2  使用CASE语句控制流程 415

16.13.3  使用LOOP语句控制流程 417

16.13.4  使用LEAVE语句控制流程 418

16.13.5  使用ITERATE语句控制流程 418

16.13.6  使用REPEAT语句控制流程 419

16.13.7  使用WHILE语句控制流程 420

16.14  本章总结 421

第17章  MySQL触发器 422

17.1  创建触发器 422

17.1.1  语法格式 422

17.1.2  创建触发器示例 423

17.2  查看触发器 425

17.2.1  使用SHOW TRIGGERS语句查看触发器的信息 425

17.2.2  使用SHOW CREATE TRIGGER语句查看触发器的信息 426

17.2.3  通过查看triggers数据表中的数据查看触发器的信息 427

17.3  删除触发器 429

17.3.1  语法格式 429

17.3.2  删除触发器示例 429

17.4  本章小结 429

第18章  MySQL分区 430

18.1  分区介绍 430

18.1.1  不同版本MySQL的分区 430

18.1.2  分区的优势 432

18.1.3  分区类型 433

18.2  RANGE分区 434

18.2.1  创建分区表 434

18.2.2  添加分区 437

18.2.3  删除分区 438

18.2.4  重定义分区 440

18.3  LIST分区 442

18.3.1  创建分区表 442

18.3.2  添加分区 443

18.3.3  删除分区 444

18.3.4  重定义分区 444

18.4  COLUMNS分区 445

18.4.1  RANGE COLUMNS分区 446

18.4.2  LIST COLUMNS分区 447

18.5  HASH分区 448

18.5.1  创建分区表 448

18.5.2  添加分区 449

18.5.3  合并分区 450

18.6  KEY分区 451

18.7  子分区 452

18.8  分区中的NULL值处理 452

18.8.1  RANGE分区中的NULL值 452

18.8.2  LIST分区中的NULL值 453

18.8.3  HASH分区与KEY分区中的NULL值 454

18.9  本章总结 455

第19章  MySQL公用表表达式和生成列 456

19.1  公用表表达式 456

19.1.1  非递归CTE 456

19.1.2  递归CTE 457

19.1.3  递归CTE的限制 459

19.2  生成列 461

19.2.1  创建表时指定生成列 462

19.2.2  为已有表添加生成列 463

19.2.3  修改已有的生成列 464

19.2.4  删除生成列 464

19.3  本章总结 465

第4篇  MySQL优化

第20章  MySQL查询优化 468

20.1  SHOW STATUS语句解析 468

20.2  EXPLAIN语句解析 469

20.3  SHOW PROFILE语句解析 477

20.3.1  分析InnoDB数据表 478

20.3.2  分析MyISAM数据表 480

20.3.3  分析MySQL源码 481

20.4  pt-query-digest分析查询 482

20.5  优化子查询 483

20.6  本章总结 483

第21章  MySQL索引优化 484

21.1  索引的类型 484

21.2  使用索引的场景 485

21.2.1  全值匹配 485

21.2.2  查询范围 486

21.2.3  匹配最左前缀 486

21.2.4  查询索引列 487

21.2.5  匹配字段前缀 487

21.2.6  精确与范围匹配索引 488

21.2.7  匹配NULL值 488

21.2.8  连接查询匹配索引 489

21.2.9  LIKE匹配索引 490

21.3  无法使用索引的场景 490

21.3.1  以通配符开始的LIKE语句 490

21.3.2  数据类型转换 491

21.3.3  联合索引未匹配最左列 491

21.3.4  OR语句 492

21.3.5  计算索引列 492

21.3.6  范围条件右侧的列无法使用索引 493

21.3.7  使用或!=操作符匹配查询条件 493

21.3.8  匹配NOT NULL值 493

21.3.9  索引耗时 494

21.4  使用索引提示 494

21.4.1  使用索引 494

21.4.2  忽略索引 495

21.4.3  强制使用索引 495

21.5  使用生成列为JSON建立索引 496

21.6  本章总结 497

第22章  SQL语句优化 498

22.1  嵌套查询的优化 498

22.2  OR条件语句的优化 500

22.3  ORDER BY语句的优化 501

22.4  GROUP BY语句的优化 502

22.5  分页查询的优化 503

22.5.1  回表查询优化分页 503

22.5.2  记录数据标识优化分页 504

22.6  插入数据的优化 505

22.6.1  MyISAM数据表插入数据的优化 505

22.6.2  InnoDB数据表插入数据的优化 506

22.7  删除数据的优化 506

22.8  本章总结 507

第23章  数据库优化 508

23.1  优化数据类型 508

23.1.1  使用数据类型的基本原则 508

23.1.2  优化表中的数据类型 509

23.2  删除重复索引和冗余索引 511

23.2.1  创建测试索引 511

23.2.2  使用pt-duplicate-key-checker删除重复索引和冗余索引 511

23.2.3  使用mysqlindexcheck删除重复索引和冗余索引 513

23.3  反范式化设计 514

23.4  增加中间表 515

23.5  分析数据表 517

23.6  检查数据表 518

23.7  优化数据表 518

23.8  拆分数据表 519

23.8.1  垂直拆分数据表 519

23.8.2  水平拆分数据表 520

23.9  本章总结 520

第24章  MySQL服务器优化 521

24.1  MySQL服务器硬件的优化 521

24.1.1  优化硬件配置 521

24.1.2  系统内核优化 522

24.2  MySQL配置项的优化 523

24.3  本章总结 524

第25章  应用程序优化 525

25.1  复用数据库连接 525

25.2  减少数据访问 526

25.3  开启查询缓存 527

25.4  使用外部缓存 528

25.5  使用分布式MySQL架构 529

25.6  本章总结 529

第26章  MySQL的其他优化选项 530

26.1  使用performance_schema数据库分析MySQL 530

26.1.1  查看MySQL是否支持performance_schema 530

26.1.2  开启或关闭performance_schema 532

26.1.3  performance_schema的简单配置与使用 532

26.2  使用sys数据库分析MySQL 535

26.2.1  sys数据库概述 535

26.2.2  sys数据库的常用查询 535

26.3  MySQL 8.x中的资源组 538

26.3.1  开启 CAP_SYS_NICE 538

26.3.2  创建资源组 539

26.3.3  查看资源组 540

26.3.4  绑定资源组 540

26.3.5  修改资源组 542

26.3.6  开启与禁用资源组 542

26.3.7  删除资源组 543

26.4  本章总结 544

第5篇  MySQL运维

第27章  MySQL命令行工具 546

27.1  查看MySQL命令 546

27.2  mysql命令 547

27.2.1  登录MySQL终端 547

27.2.2  设置客户端连接编码 549

27.2.3  直接执行SQL语句 550

27.2.4  格式化输出结果 550

27.2.5  SQL报错处理 551

27.3  mysqladmin命令 552

27.3.1  mysqladmin命令参数 553

27.3.2  mysqladmin命令简单示例 553

27.4  myisampack命令 554

27.5  mysqlbinlog命令 555

27.6  mysqlcheck命令 558

27.7  mysqlshow命令 559

27.8  mysqldump命令 561

27.9  mysqlimport命令 563

27.10  本章总结 564

第28章  MySQL日志 565

28.1  查询日志 565

28.1.1  开启查询日志 565

28.1.2  查看查询日志 566

28.1.3  删除查询日志 567

28.1.4  关闭查询日志 568

28.2  慢查询日志 568

28.2.1  开启慢查询日志 568

28.2.2  查看慢查询日志 569

28.2.3  删除慢查询日志 570

28.2.4  关闭慢查询日志 571

28.3  错误日志 571

28.3.1  开启错误日志 571

28.3.2  查看错误日志 572

28.3.3  删除错误日志 572

28.3.4  关闭错误日志 573

28.4  二进制日志 573

28.4.1  开启二进制日志 573

28.4.2  查看二进制日志 574

28.4.3  删除二进制日志 575

28.4.4  暂时停止与开启二进制日志 577

28.4.5  关闭二进制日志 577

28.5  本章总结 577

第29章  数据备份与恢复 578

29.1  基于mysqldump备份并恢复数据 578

29.1.1  备份数据 578

29.1.2  恢复数据 581

29.2  基于mysqlpump备份并恢复数据 582

29.3  基于mydumper备份并恢复数据 583

29.3.1  安装mydumper 583

29.3.2  备份数据 584

29.3.3  恢复数据 588

29.4  基于mysqlhotcopy备份并恢复数据 589

29.4.1  安装mysqlhotcopy 589

29.4.2  备份数据 590

29.4.3  恢复数据 590

29.5  基于xtrabackup备份并恢复数据 590

29.5.1  安装xtrabackup 590

29.5.2  备份数据 591

29.5.3  恢复准备 593

29.5.4  恢复数据 594

29.6  数据备份与恢复案例 596

29.6.1  完全恢复数据案例 596

29.6.2  基于位置点恢复数据案例 598

29.6.3  基于时间点恢复数据案例 598

29.7  MySQL灾难恢复 598

29.7.1  问题重现 599

29.7.2  问题分析 599

29.7.3  问题解决 600

29.8  实现数据库的自动备份 602

29.9  导出数据 603

29.9.1  使用SELECT INTO OUTFILE语句导出数据 603

29.9.2  使用mysqldump命令导出数据 605

29.9.3  使用mysql命令导出数据 606

29.10  导入数据 607

29.10.1  使用LOAD DATA INFILE导入数据 608

29.10.2  使用mysqlimport导入数据 609

29.11  遇到的问题和解决方案 610

29.12  本章总结 611

第30章  MySQL账户管理 612

30.1  MySQL中的权限表 612

30.2  创建普通用户 613

30.2.1  使用CREATE USER语句创建用户 613

30.2.2  使用GRANT语句创建用户 617

30.2.3  操作user数据表创建用户 619

30.3  为用户授权 620

30.3.1  权限层级 620

30.3.2  使用GRANT语句为用户授权 621

30.3.3  通过操作权限表为用户授权 624

30.4  查看用户权限 624

30.4.1  通过SHOW GRANTS FOR语句查看用户权限 624

30.4.2  通过查询mysql.user数据表查看用户权限 625

30.4.3  通过查询information_schema数据库查看用户权限 625

30.5  修改用户权限 626

30.5.1  使用GRANT语句修改用户权限 626

30.5.2  通过操作数据表修改用户权限 627

30.6  撤销用户权限 628

30.6.1  使用REVOKE语句撤销用户权限 628

30.6.2  通过操作数据表撤销用户权限 629

30.7  修改用户密码 630

30.7.1  通过mysqladmin修改用户密码 630

30.7.2  使用SET PASSWORD语句修改用户密码 630

30.7.3  使用GRANT语句修改用户密码 631

30.7.4  通过操作user数据表修改用户密码 632

30.7.5  忘记root密码的解决方案 632

30.8  删除用户 633

30.8.1  使用DROP USER语句删除用户 633

30.8.2  使用DELETE语句删除用户 634

30.9  限制用户使用资源 634

30.9.1  限制用户使用资源示例 634

30.9.2  修改用户的资源限制 635

30.9.3  解除用户的资源限制 635

30.10  MySQL 8.x版本中的账户管理 636

30.10.1  用户创建和授权 636

30.10.2  认证插件更新 636

30.10.3  密码管理 638

30.10.4  角色管理 640

30.11  本章总结 644

第6篇  MySQL架构

第31章  MySQL复制 646

31.1  搭建MySQL主从复制环境 646

31.1.1  服务器规划 646

31.1.2  搭建MySQL主从环境 647

31.1.3  测试MySQL主从复制环境 650

31.2  搭建MySQL主主复制环境 652

31.2.1  服务器规划 652

31.2.2  将MySQL主从环境切换为主主环境 652

31.2.3  直接搭建MySQL主主环境 654

31.2.4  测试MySQL主主复制环境 654

31.3  添加MySQL从库 655

31.3.1  服务器规划 655

31.3.2  在主从服务器上进行的操作 656

31.3.3  测试MySQL主从复制环境 658

31.4  切换主从复制到链式复制 659

31.4.1  服务器规划 659

31.4.2  切换复制模式 660

31.5  切换链式复制到主从复制 662

31.6  搭建MySQL多源复制环境 665

31.6.1  服务器规划 665

31.6.2  搭建MySQL多源复制环境 666

31.6.3  测试MySQL多源复制环境 667

31.7  添加复制过滤器 668

31.7.1  复制指定的数据库 669

31.7.2  忽略指定的数据库 669

31.7.3  复制指定的数据表 670

31.7.4  忽略指定的数据表 670

31.8  设置延迟复制 671

31.9  基于GTID搭建MySQL主从复制环境 671

31.10  基于半同步模式搭建MySQL主从复制环境 673

31.10.1  半同步参数说明 673

31.10.2  配置半同步复制 674

31.10.3  测试半同步复制 676

31.11  本章总结 677

第32章  MySQL读写分离 678

32.1  基于MySQL Proxy实现读写分离 678

32.1.1  服务器规划 678

32.1.2  安装Lua环境 679

32.1.3  安装MySQL Proxy 679

32.1.4  配置MySQL Proxy读写分离 680

32.1.5  启动MySQL Proxy 683

32.1.6  测试MySQL Proxy的读写分离 683

32.2  基于Atlas实现读写分离 685

32.2.1  服务器规划 685

32.2.2  安装Atlas 685

32.2.3  配置Atlas读写分离 686

32.2.4  启动Atlas 687

32.2.5  测试Atlas读写分离 689

32.3  基于ProxySQL实现读写分离 689

32.3.1  服务器规划 689

32.3.2  安装ProxySQL 690

32.3.3  配置ProxySQL读写分离 690

32.3.4  测试ProxySQL读写分离 695

32.4  基于Amoeba实现读写分离 695

32.4.1  服务器规划 695

32.4.2  安装JDK 695

32.4.3  安装Amoeba 696

32.4.4  配置Amoeba读写分离 697

32.4.5  启动Amoeba 699

32.4.6  测试Amoeba读写分离 700

32.5  基于Mycat实现读写分离 700

32.5.1  服务器规划 701

32.5.2  安装JDK 701

32.5.3  安装Mycat 701

32.5.4  配置Mycat读写分离 702

32.5.5  启动Mycat 703

32.5.6  测试Mycat读写分离 704

32.6  本章总结 704

第33章  MySQL HA高可用架构 705

33.1  基于Keepalived搭建MySQL高可用环境 705

33.1.1  服务器规划 705

33.1.2  安装Keepalived 706

33.1.3  配置MySQL高可用 707

33.1.4  测试MySQL高可用 710

33.1.5  自动重启MySQL 711

33.2  基于HAProxy搭建Mycat高可用环境 713

33.2.1  服务器规划 713

33.2.2  安装Mycat状态检查服务 713

33.2.3  安装HAProxy服务 715

33.2.4  配置Mycat负载均衡 716

33.2.5  测试Mycat高可用环境 719

33.3  基于Keepalived搭建HAProxy高可用环境 721

33.3.1  服务器规划 721

33.3.2  安装并配置HAProxy和Keepalived 721

33.3.3  配置HAProxy高可用性 722

33.3.4  测试HAProxy高可用性 725

33.4  本章总结 726

参考文献 727
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP