深入浅出MySQL++数据库开发、优化与管理维护+第2版

2022-07-28,,,,

深入浅出MySQL++数据库开发优化管理维护+第2版

下载地址 https://pan.baidu.com/s/1nGw_E2NBPXcqBp9AH3Coyw

扫码下面二维码关注公众号回复 100148获取分享码

 

本书目录结构如下:

第1部分 基础篇

第1章 MySQL的安装与配置 3

1.1 MySQL的下载 3

1.1.1 在Windows平台下下载MySQL 4

1.1.2 在Linux平台下下载MySQL 4

1.2 MySQL的安装 7

1.2.1 在Windows平台下安装MySQL 7

1.2.2 在Linux平台下安装MySQL 11

1.3 MySQL的配置 12

1.3.1 Windows平台下配置MySQL 12

1.3.2 Linux平台下配置MySQL 20

1.4 启动和关闭MySQL服务 20

1.4.1 在Windows平台下启动和关闭MySQL服务 21

1.4.2 在Linux平台下启动和关闭MySQL服务 22

1.5 小结 23

第2章 SQL基础 25

2.1 SQL简介 25

2.2 (My)SQL使用入门 25

2.2.1 SQL分类 25

2.2.2 DDL语句 26

2.2.3 DML语句 35

2.2.4 DCL语句 51

2.3 帮助的使用 52

2.3.1 按照层次看帮助 53

2.3.2 快速查阅帮助 54

2.3.3 常用的网络资源 55

2.4 小结 55

第3章 MySQL支持的数据类型 57

3.1 数值类型 57

3.2 日期时间类型 64

3.3 字符串类型 71

3.3.1 CHAR和VARCHAR类型 72

3.3.2 BINARY和VARBINARY类型 72

3.3.3 ENUM类型 73

3.3.4 SET类型 74

3.4 小结 74

第4章 MySQL中的运算符 77

4.1 算术运算符 77

4.2 比较运算符 78

4.3 逻辑运算符 82

4.4 位运算符 83

4.5 运算符的优先级 85

4.6 小结 86

第5章 常用函数 87

5.1 字符串函数 87

5.2 数值函数 90

5.3 日期和时间函数 93

5.4 流程函数 97

5.5 其他常用函数 100

5.6 小结 103

第6章 图形化工具的使用 105

6.1 MySQLAdministrator 105

6.1.1 连接管理 106

6.1.2 健康检查 107

6.1.3 备份管理 108

6.1.4 Catalogs 109

6.2 MySQLQueryBrower 110

6.3 phpMyAdmin 111

6.3.1 数据库管理 112

6.3.2 数据库对象管理 113

6.3.3 权限管理 113

6.3.4 导入导出数据 114

6.4 小结 116

第2部分 开发篇

第7章 表类型(存储引擎)的选择 119

7.1 MySQL存储引擎概述 119

7.2 各种存储引擎的特性 122

7.2.1 MyISAM 122

7.2.2 InnoDB 124

7.2.3 MEMORY 129

7.2.4 MERGE 131

7.3 如何选择合适的存储引擎 134

7.4 小结 135

第8章 选择合适的数据类型 137

8.1 CHAR与VARCHAR 137

8.2 TEXT与BLOB 138

8.3 浮点数与定点数 142

8.4 日期类型选择 145

8.5 小结 145

第9章 字符集 147

9.1 字符集概述 147

9.2 Unicode简述 147

9.3 汉字及一些常见字符集 149

9.4 怎样选择合适的字符集 150

9.5 MySQL支持的字符集简介 150

9.6 MySQL字符集的设置 152

9.6.1 服务器字符集和校对规则 152

9.6.2 数据库字符集和校对规则 153

9.6.3 表字符集和校对规则 154

9.6.4 列字符集和校对规则 154

9.6.5 连接字符集和校对规则 154

9.7 字符集的修改步骤 155

9.8 小结 156

第10章 索引的设计和使用 157

10.1 索引概述 157

10.2 设计索引的原则 158

10.3 BTREE索引与HASH索引 159

10.4 小结 161

第11章 视图 163

11.1 什么是视图 163

11.2 视图操作 163

11.2.1 创建或者修改视图 163

11.2.2 删除视图 165

11.2.3 查看视图 166

11.3 小结 167

第12章 存储过程和函数 169

12.1 什么是存储过程和函数 169

12.2 存储过程和函数的相关操作 169

12.2.1 创建、修改存储过程或者函数 169

12.2.2 删除存储过程或者函数 174

12.2.3 查看存储过程或者函数 174

12.2.4 变量的使用 176

12.2.5 定义条件和处理 177

12.2.6 光标的使用 180

12.2.7 流程控制 181

12.3 小结 185

第13章 触发器 187

13.1 创建触发器 187

13.2 删除触发器 190

13.3 查看触发器 190

13.4 触发器的使用 192

13.5 小结 193

第14章 事务控制和锁定语句 195

14.1 LOCKTABLE和UNLOCKTABLE 195

14.2 事务控制 196

14.3 分布式事务的使用 202

14.3.1 分布式事务的原理 202

14.3.2 分布式事务的语法 203

14.3.3 存在的问题 204

14.4 小结 208

第15章 SQL中的安全问题 209

15.1 SQL注入简介 209

15.2 应用开发中可以采取的应对措施 210

15.2.1 PrepareStatement+Bind-variable 210

15.2.2 使用应用程序提供的转换函数 211

15.2.3 自己定义函数进行校验 211

15.3 小结 212

第16章 SQLMode及相关问题 213

16.1 MySQLSQLMode简介 213

16.2 常用的SQLMode 218

16.3 SQLMode在迁移中如何使用 219

16.4 小结 220

第3部分 优化篇

第17章 常用SQL技巧和常见问题 223

17.1 正则表达式的使用 223

17.2 巧用RAND()提取随机行 226

17.3 利用GROUPBY的WITHROLLUP子句做统计 227

17.4 用BITGROUPFUNCTIONS做统计 229

17.5 数据库名、表名大小写问题 231

17.6 使用外键需要注意的问题 232

17.7 小结 233

第18章 SQL优化 235

18.1 优化SQL语句的一般步骤 235

18.1.1 通过showstatus命令了解各种SQL的执行频率 235

18.1.2 定位执行效率较低的SQL语句 236

18.1.3 通过EXPLAIN分析低效SQL的执行计划 236

18.1.4 确定问题并采取相应的优化措施 238

18.2 索引问题 239

18.2.1 索引的存储分类 239

18.2.2 MySQL如何使用索引 239

18.2.3 查看索引使用情况 244

18.3 两个简单实用的优化方法 245

18.3.1 定期分析表和检查表 245

18.3.2 定期优化表 246

18.4 常用SQL的优化 247

18.4.1 大批量插入数据 247

18.4.2 优化INSERT语句 249

18.4.3 优化GROUPBY语句 249

18.4.4 优化ORDERBY语句 250

18.4.5 优化嵌套查询 250

18.4.6 MySQL如何优化OR条件 252

18.4.7 使用SQL提示 254

18.5 小结 256

第19章 优化数据库对象 257

19.1 优化表的数据类型 257

19.2 通过拆分提高表的访问效率 259

19.3 逆规范化 260

19.4 使用中间表提高统计查询速度 261

19.5 小结 262

第20章 锁问题 263

20.1 MySQL锁概述 263

20.2 MyISAM表锁 263

20.2.1 查询表级锁争用情况 264

20.2.2 MySQL表级锁的锁模式 264

20.2.3 如何加表锁 265

20.2.4 并发插入(ConcurrentInserts) 268

20.2.5 MyISAM的锁调度 269

20.3 InnoDB锁问题 270

20.3.1 背景知识 270

20.3.2 获取InnoDB行锁争用情况 272

20.3.3 nnoDB的行锁模式及加锁方法 273

20.3.4 InnoDB行锁实现方式 277

20.3.5 间隙锁(Next-Key锁) 281

20.3.6 恢复和复制的需要,对InnoDB锁机制的影响 282

20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异 287

20.3.8 什么时候使用表锁 288

20.3.9 关于死锁 288

20.4 小结 295

第21章 优化MySQLServer 297

21.1 查看MySQLServer参数 297

21.2 影响MySQL性能的重要参数 300

21.2.1 key_buffer_size的设置 301

21.2.2 table_cache的设置 303

21.2.3 innodb_buffer_pool_size的设置 305

21.2.4 innodb_flush_log_at_trx_commit的设置 306

21.2.5 innodb_additional_mem_pool_size的设置 306

21.2.6 innodb_lock_wait_timeout的设置 307

21.2.7 innodb_support_xa的设置 307

21.2.8 innodb_log_buffer_size的设置 307

21.2.9 innodb_log_file_size的设置 308

21.3 小结 308

第22章 磁盘I/O问题 309

22.1 使用磁盘阵列 309

22.1.1 常见RAID级别及其特性 309

22.1.2 如何选择RAID级别 310

22.1.3 虚拟文件卷或软RAID 310

22.2 使用SymbolicLinks分布I/O 310

22.3 禁止操作系统更新文件的atime属性 311

22.4 用裸设备(RawDevice)存放InnoDB的共享表空间 312

22.5 小结 312

第23章 应用优化 313

23.1 使用连接池 313

23.2 减少对MySQL的访问 313

23.2.1 避免对同一数据做重复检索 313

23.2.2 使用查询缓存 314

23.2.3 增加CACHE层 315

23.3 负载均衡 315

23.3.1 利用MySQL复制分流查询操作 315

23.3.2 采用分布式数据库架构 316

23.4 其他优化措施 316

23.5 小结 316

第4部分 管理维护篇

第24章 MySQL高级安装和升级 319

24.1 Linux/UNIX平台下的安装 319

24.1.1 安装包比较 319

24.1.2 安装RPM包 320

24.1.3 安装二进制包 320

24.1.4 安装源码包 321

24.1.5 参数设置方法 322

24.2 源码包安装的性能考虑 323

24.2.1 去掉不需要的模块 323

24.2.2 只选择要使用的字符集 324

24.2.3 使用静态编译以提高性能 324

24.3 升级MySQL 324

24.4 MySQL降级 326

24.5 小结 326

第25章 MySQL中的常用工具 327

25.1 mysql(客户端连接工具) 327

25.1.1 连接选项 327

25.1.2 客户端字符集选项 330

25.1.3 执行选项 331

25.1.4 格式化选项 332

25.1.5 错误处理选项 333

25.2 myisampack(MyISAM表压缩工具) 336

25.3 mysqladmin(MySQL管理工具) 338

25.4 mysqlbinlog(日志管理工具) 339

25.5 mysqlcheck(MyISAM表维护工具) 345

25.6 mysqldump(数据导出工具) 346

25.7 mysqlhotcopy(MyISAM表热备份工具) 350

25.8 mysqlimport(数据导入工具) 352

25.9 mysqlshow(数据库对象查看工具) 352

25.10 perror(错误代码查看工具) 355

25.11 replace(文本替换工具) 356

25.12 小结 357

第26章 MySQL日志 359

26.1 错误日志 359

26.2 二进制日志 360

26.2.1 日志的位置和格式 360

26.2.2 日志的读取 360

26.2.3 日志的删除 361

26.2.4 其他选项 364

26.3 查询日志 365

26.3.1 日志的位置和格式 365

26.3.2 日志的读取 365

26.4 慢查询日志 366

26.4.1 文件位置和格式 366

26.4.2 日志的读取 366

26.4.3 其他选项 368

26.5 小结 368

第27章 备份与恢复 371

27.1 备份/恢复策略 371

27.2 逻辑备份和恢复 371

27.2.1 备份 372

27.2.2 完全恢复 373

27.2.3 基于时间点恢复 374

27.2.4 基于位置恢复 375

27.3 物理备份和恢复 375

27.3.1 冷备份 375

27.3.2 热备份 375

27.4 表的导入导出 378

27.4.1 导出 378

27.4.2 导入 383

27.5 小结 386

第28章 MySQL权限与安全 387

28.1 MySQL权限管理 387

28.1.1 权限系统的工作原理 387

28.1.2 权限表的存取 387

28.1.3 账号管理 391

28.2 MySQL安全问题 401

28.2.1 操作系统相关的安全问题 401

28.2.2 数据库相关的安全问题 404

28.3 其他安全设置选项 423

28.3.1 old-passwords 423

28.3.2 safe-user-create 424

28.3.3 secure-auth 425

28.3.4 skip-grant-tables 426

28.3.5 skip-network 426

28.3.6 skip-show-database 427

28.4 小结 428

第29章 MySQL复制 429

29.1 安装配置 429

29.2 主要复制启动选项 433

29.2.1 log-slave-updates 433

29.2.2 master-connect-retry 433

29.2.3 read-only 433

29.2.4 指定复制的数据库或者表 435

29.2.5 slave-skip-errors 437

29.3 日常管理维护 437

29.3.1 查看从服务器状态 437

29.3.2 主从服务器同步维护 438

29.3.3 从服务器复制出错的处理 439

29.3.4 logevententryexceededmax_allowed_packet的处理 441

29.3.5 多主复制时的自增长变量冲突问题 441

29.3.6 查看从服务器的复制进度 444

29.4 切换主从服务器 446

29.5 小结 447

第30章 MySQLCluster 449

30.1 MySQLCluster架构 449

30.2 MySQLCluster的配置 450

30.2.1 MySQLCluster的版本支持 450

30.2.2 管理节点配置步骤 451

30.2.3 SQL节点和数据节点的配置 452

30.3 开始使用Cluster 453

30.3.1 Cluster的启动 453

30.3.2 Cluster的测试 455

30.3.3 Cluster的关闭 459

30.4 维护Cluster 460

30.4.1 数据备份 460

30.4.2 数据恢复 461

30.4.3 日志管理 463

30.5 小结 466

第31章 MySQL常见问题和应用技巧 467

31.1 忘记MySQL的root密码 467

31.2 如何处理MyISAM存储引擎的表损坏 468

31.2.1 方法一 468

31.2.2 方法二 469

31.3 MyISAM表超过4GB无法访问的问题 469

31.4 数据目录磁盘空间不足的问题 470

31.4.1 对于MyISAM存储引擎的表 470

31.4.2 对于InnoDB存储引擎的表 471

31.5 DNS反向解析的问题 471

31.6 mysql.sock丢失后如何连接数据库 472

31.7 同一台服务器运行多个MySQL数据库 472

31.8 客户端怎么访问内网数据库 473

31.9 小结 476

 

本文地址:https://blog.csdn.net/yusongcao7/article/details/109451162

《深入浅出MySQL++数据库开发、优化与管理维护+第2版.doc》

下载本文的Word格式文档,以方便收藏与打印。