最新公告
  • 资源宝-专注于优秀资源,本站秉承服务宗旨 履行“站长”责任, 服务永无止境!
  • MySQL DBA 修炼之道_数据库教程

    已弃用QQ,邮箱:[email protected] 【哔哩哔哩留言】上线看见信息第一时间回复,本站大部分源码亲测
    资源名称:MySQL DBA 修炼之道

    作者简介:
    陈晓勇,70后,湖南人,擅长Oracle、MySQL数据库运维、诊断和性能调优。早期曾在某大型央企从事技术工作,参与多个系统的研发工作,04年后转向数据库领域,后在某世界500强大型工厂任专职Oracle DBA,负责核心生产库的运维,08年离开传统行业,加入移动互联网公司优视科技,主要从事MySQL的维护管理工作。从业至今,一直在一线生产,积累了丰富的系统架构、操作系统、存储、数据库产品经验,目前主要关注系统架构和MySQL数据库管理。

    资源目录:
    推荐序
    前言
    第一部分 入门篇
    第1章 理解MySQL 2
    1.1 MySQL介绍 2
    1.1.1 应用领域和适用场景 2
    1.1.2 为什么那么多公司和机构选择使用MySQL 3
    1.1.3 MySQL的优势是什么,它解决了什么问题 3
    1.2 MySQL的基础架构和版本 4
    1.2.1 软件架构中数据库的定位 4
    1.2.2 MySQL的基础架构 5
    1.2.3 MySQL的版本及特性 6
    1.2.4 MySQL的开发周期 8
    1.3 查询执行过程概述 9
    1.4 MySQL权限 10
    1.4.1 MySQL权限机制 10
    1.4.2 赋予权限和回收权限 10
    1.5 长连接、短连接、连接池 10
    1.5.1 短连接 10
    1.5.2 长连接 11
    1.5.3 连接池 12
    1.5.4 持久连接和连接池的区别 12
    1.6 存储引擎简介 12
    1.6.1 InnoDB引擎 12
    1.6.2 MyISAM引擎 13
    1.6.3 MEMORY存储引擎 13
    1.6.4 ARCHIVE存储引擎 14
    1.6.5 选择合适的引擎 14
    1.6.6 选择何种平台 14
    1.7 MySQL复制架构 15
    1.8 一些基础概念 15
    第2章 MySQL安装部署和入门 17
    2.1 如何选择MySQL版本 17
    2.2 官方版本的安装 18
    2.2.1 二进制包的安装 18
    2.2.2 源码编译安装 20
    2.3 其他MySQL分支的安装 21
    2.4 安装InnoDB Plugin 21
    2.5 常用命令 22
    2.5.1 使用mysql命令 22
    2.5.2 使用mysqladmin命令 26
    2.5.3 使用mysqldump命令 26
    2.6 MySQL的主要参数设置 27
    第二部分 开发篇
    第3章 开发基础 30
    3.1 相关基础概念 30
    3.2 数据模型 33
    3.2.1 关系数据模型介绍 33
    3.2.2 实体–关系建模 34
    3.2.3 其他数据模型 35
    3.3 SQL基础 38
    3.3.1 变量 39
    3.3.2 保留字 40
    3.3.3 MySQL注释 42
    3.3.4 数据类型 43
    3.3.5 函数 51
    3.3.6 操作符及优先级 53
    3.3.7 MySQL示例employees数据库 54
    3.3.8 SQL语法 55
    3.4 PHP开发 69
    3.4.1 概述 69
    3.4.2 客户端访问过程 69
    3.4.3 开发工具 72
    3.4.4 操作数据 73
    3.4.5 PHP数据库开发建议 78
    3.5 索引 78
    3.5.1 索引介绍 78
    3.5.2 使用索引的场景及注意事项 79
    3.5.3 索引的错误用法 82
    3.5.4 如何使用EXPLAIN工具 83
    3.5.5 优化索引的方法学 90
    3.6 ID主键 91
    3.7 字符集和国际化支持 93
    3.7.1 什么是字符集 93
    3.7.2 国际化支持 93
    3.7.3 字符集设置 94
    第4章 开发进阶 98
    4.1 范式和反范式 98
    4.1.1 范式 98
    4.1.2 反范式 102
    4.2 权限机制和安全 104
    4.2.1 MySQL访问权限系统 104
    4.2.2 强化安全 106
    4.2.3 SQL注入 109
    4.3 慢查询日志 112
    4.3.1 查看慢查询日志 112
    4.3.2 使用工具分析慢查询日志 114
    4.4 应用程序性能管理 118
    4.4.1 为什么需要性能管理 118
    4.4.2 应用性能管理概述 119
    4.4.3 应用性能管理的关注点 120
    4.4.4 具体应用 120
    4.5 数据库设计 122
    4.5.1 逻辑设计 122
    4.5.2 物理设计 123
    4.6 导入导出数据 127
    4.6.1 规则简介 127
    4.6.2 使用mysqldump导出,使用mysql导入 128
    4.6.3 使用SELECT INTO OUTFILE命令导出数据 130
    4.6.4 使用LOAD DATA导入数据 130
    4.6.5 用mysqlimport工具导入 132
    4.6.6 用mysql程序的批处理模式导出 132
    4.6.7 用split切割文件,加速导入数据 133
    4.7 事务和锁 133
    4.7.1 概述 133
    4.7.2 MyISAM的表锁 134
    4.7.3 事务定义和隔离级别 135
    4.7.4 InnoDB的行锁 137
    4.8 死锁 141
    4.9 其他特性 142
    4.9.1 临时表 142
    4.9.2 分区表 142
    4.9.3 存储过程、触发器、外键 147
    4.9.4 视图 159
    第5章 开发技巧 161
    5.1 存储树形数据 161
    5.2 转换字符集 163
    5.3 处理重复值 165
    5.4 分页算法 167
    5.5 处理NULL值 167
    5.6 存储URL地址 169
    5.7 归档历史数据 169
    5.8 使用数据库存储图片 170
    5.9 多表UPDATE 170
    5.10 生成全局唯一ID 171
    5.11 使用SQL生成升级SQL 171
    第6章 查询优化 172
    6.1 基础知识 172
    6.1.1 查询优化的常用策略 172
    6.1.2 优化器介绍 173
    6.1.3 MySQL的连接机制 175
    6.2 各种语句优化 176
    6.2.1 连接的优化 176
    6.2.2 GROUP BY、DISTINCT、ORDER BY语句优化 177
    6.2.3 优化子查询 178
    6.2.4 优化limit子句 179
    6.2.5 优化IN列表 180
    6.2.6 优化UNION 181
    6.2.7 优化带有BLOB、TEXT类型字段的查询 181
    6.2.8 filesort的优化 181
    6.2.9 优化SQL_CALC_FOUND_ROWS 183
    6.2.10 优化临时表 183
    6.3 OLAP业务优化 184
    第7章 研发规范 187
    7.1 命名约定 187
    7.2 索引 188
    7.3 表设计 189
    7.4 SQL语句 190
    7.5 SQL脚本 191
    7.6 数据架构的建议 192
    7.7 开发环境、测试环境的配置参数建议 193
    7.8 数据规划表 193
    7.9 其他规范 194
    第三部分 测试篇
    第8章 测试基础 196
    8.1 基础概念 196
    8.2 性能测试的目的 197
    8.3 基准测试 197
    8.4 性能/基准测试的步骤 199
    8.5 测试的注意事项 199
    第9章 测试实践 201
    9.1 硬件测试 201
    9.1.1 概述 201
    9.1.2 CPU测试 202
    9.1.3 内存测试 203
    9.1.4 I/O测试 203
    9.1.5 网络测试 207
    9.2 MySQL测试 207
    9.2.1 概述 207
    9.2.2 常用测试工具的介绍和使用 208
    9.2.3 MySQL基准测试模型 211
    9.3 应用数据库性能测试 221
    第四部分 运维篇
    第10章 基础知识 224
    10.1 文件和I/O管理 224
    10.1.1 MySQL日志文件 224
    10.1.2 InnoDB数据文件和日志文件 228
    10.1.3 临时文件 232
    10.1.4 MySQL套接字文件 232
    10.2 MySQL如何进行灾难恢复 233
    10.3 变量设置、配置文件和主要参数 234
    10.3.1 概述 234
    10.3.2 如何设置参数、变量 235
    10.3.3 配置文件的读取顺序 235
    10.3.4 环境变量、配置文件、命令行选项的优先级 237
    10.3.5 配置文件详述 237
    10.3.6 配置文件示例 238
    10.4 MySQL Query Cache和优化器 239
    10.5 SHOW INNODB STATUS解析 241
    第11章 MySQL的监控 250
    11.1 非数据库的监控 250
    11.1.1 开源监控工具/平台 250
    11.1.2 编写程序来收集信息 251
    11.2 数据库的监控 251
    11.2.1 数据库服务的基本监控方式 251
    11.2.2 应该收集的信息和收集方法 252
    11.2.3 MySQL需要关注的参数及状态变量 260
    11.3 数据库监控的实现 263
    11.3.1 Nagios 263
    11.3.2 swatch 263
    11.3.3 Cacti 267
    11.3.4 如何打造一个强大的监控系统 274
    11.4 数据库监控的可视化 275
    11.4.1 折线图 276
    11.4.2 散点图 276
    11.4.3 热图 277
    第12章 MySQL复制 279
    12.1 基础知识 279
    12.1.1 原理及注意事项 279
    12.1.2 常用命令 281
    12.1.3 参数设置 287
    12.1.4 配置文件 290
    12.1.5 复制模式 292
    12.1.6 复制兼容性 294
    12.2 配置主从复制 294
    12.3 配置主主复制 296
    12.4 配置级联复制、环形复制 297
    12.5 跨IDC复制 297
    12.6 多主复制 298
    12.7 延时复制 298
    12.8 半同步复制 299
    12.9 在线搭建从库 299
    12.9.1 操作系统下对打包文件配置主从 299
    12.9.2 利用mysqldump制作从库 301
    12.10 配置日志服务器 303
    12.11 常见的复制问题及处理方法 305
    12.11.1 跳过复制错误 305
    12.11.2 临时表和复制 305
    12.11.3 内存表和复制 306
    12.11.4 主库宕机重新启动成功,但复制关系中断 306
    12.11.5 主库宕机重启不成功 307
    12.11.6 多个从库的server-id相同 307
    12.11.7 锁定导致的复制延时 307
    12.11.8 对MyISAM引擎的表恢复数据 307
    12.11.9 如何彻底清除Slave设置 308
    12.11.10 网络异常导致的复制延时 308
    第13章 迁移、升级、备份、恢复数据库 309
    13.1 升级 309
    13.1.1 升级表结构或变更数据 309
    13.1.2 MySQL版本升级 312
    13.2 新业务部署上线 312
    13.3 迁移 313
    13.3.1 迁移步骤 313
    13.3.2 切换数据库时长短连接的影响 314
    13.4 生产环境常用的备份策略 315
    13.4.1 备份策略 315
    13.4.2 备份建议 316
    13.5 常用备份方式和恢复方法 316
    13.5.1 使用dd备份和恢复数据 317
    13.5.2 使用mysqldump备份和恢复数据 317
    13.5.3 使用Percona XtraBackup备份和恢复数据 319
    13.5.4 使用mysqlbinlog进行时间点恢复 326
    第14章 运维技巧和常见问题处理 328
    14.1 MySQL运维技巧 328
    14.1.1 使用lsof命令恢复文件 328
    14.1.2 如何删除大文件 330
    14.1.3 获取吞吐信息 331
    14.1.4 传输大文件 331
    14.1.5 记录连接用户 331
    14.1.6 如何判断表的碎片 332
    14.1.7 快速关闭MySQL 333
    14.1.8 如何预热数据 333
    14.1.9 临时禁止数据库访问 334
    14.1.10 获取MySQL连接、用户 334
    14.1.11 更改数据库名 334
    14.1.12 批量KILL连接 335
    14.1.13 记录运行时间长的查询 335
    14.1.14 删除分表 335
    14.2 常见问题 336
    14.2.1 忘记root密码 336
    14.2.2 InnoDB同时打开事务最大不能超1023个 336
    14.2.3 连接不上MySQL 336
    14.2.4 主机的host_name被屏蔽 337
    14.2.5 连接数过多 337
    14.2.6 处理磁盘满 338
    14.2.7 表损坏 338
    14.2.8 查看锁的等待 338
    14.2.9 mysqldump备份报错 339
    14.2.10 Table 'tbl_name'doesn't exist 339
    14.2.11 root账号权限异常 340
    14.2.12 SHOW PROCESSLIST输出中有大量unauthenticated user连接 340
    14.2.13 统计information_schema里面的元数据信息缓慢 340
    14.2.14 Aborted_connects、Aborted_clients异常升高 341
    14.2.15 MySQL server has gone away错误 342
    14.2.16 信息包过大错误 342
    14.2.17 内存溢出 343
    14.2.18 MySQL单张表为多大才合适,为什么大表会慢 343
    14.2.19 MySQL最大能支持多大的并发查询 344
    14.2.20 创建索引出错 344
    14.3 故障和性能问题处理 344
    14.3.1 通过减少文件排序和临时表提高性能 344
    14.3.2 通过慢查询快速定位导致性能问题的SQL 345
    14.3.3 定位导致了性能问题的客户端/应用服务器 345
    第15章 运维管理 346
    15.1 规模化运维 346
    15.1.1 基础环境 346
    15.1.2 虚拟化 348
    15.1.3 关于去IOE 349
    15.1.4 资源利用和隔离 350
    15.1.5 关于备机、备份 351
    15.2 服务器采购 352
    15.3 运维规则 352
    15.3.1 确保基础网络稳定可靠 353
    15.3.2 应构建性能模型,进行容量规划 353
    15.3.3 优先扩容,再考虑优化 353
    15.3.4 保持简单 353
    15.3.5 监控一切 354
    15.3.6 处理监控报警 354
    15.3.7 不要重复“造轮子” 354
    15.3.8 允许出错 354
    15.3.9 设置备用角色 355
    15.3.10 仔细阅读产品文档 355
    15.3.11 画数据流图和物理部署图 355
    15.3.12 要有版本控制 356
    15.3.13 解决问题要用合适的工具 356
    15.3.14 系统工程师要具备定位瓶颈的能力 356
    15.3.15 确保无线网络的稳定 356
    15.3.16 确保访问生产网络时有备用的访问方式 357
    15.3.17 让优秀的人做工具/平台 357
    15.3.18 要有分工,每个角色都很重要 357
    15.3.19 其他团队应能轻松获取生产环境信息 358
    15.3.20 由独立的系统处理代码性能问题 358
    15.3.21 运维人员应介入产品开发的初期 358
    15.3.22 关注安全 358
    15.3.23 关注配置管理 358
    15.3.24 对优先级进行管理 359
    15.3.25 不要为了优化而优化 359
    15.3.26 不要过早优化 359
    15.3.27 要有知识分享系统 359
    15.3.28 参加业内技术论坛 359
    15.3.29 必须开周会 360
    15.3.30 积极支持队友,和团队一起成长 360
    15.3.31 从公司的利益出发 360
    15.3.32 确保每个人都是可以被替换的 360
    15.3.33 不要受绩效束缚 361
    15.3.34 不断优化流程设计 361
    15.3.35 要了解一些财务知识 361
    15.3.36 了解其他领域 362
    第五部分 性能调优与架构篇
    第16章 基础理论和工具 364
    16.1 性能调优理论 364
    16.1.1 基础概念 364
    16.1.2 阿姆达尔定律 367
    16.1.3 通用扩展定律 370
    16.1.4 排队论 373
    16.2 诊断工具 375
    16.2.1 OS诊断工具 375
    16.2.2 MySQL诊断工具 392
    16.3 调优方法论 417
    16.3.1 性能调优的误区 417
    16.3.2 调优指引 417
    16.3.3 调优步骤 419
    16.3.4 调优的方法 420
    第17章 应用程序调优 421
    17.1 程序访问调优 421
    17.1.1 好的架构和程序逻辑 421
    17.1.2 好的监控系统和可视化工具 424
    17.1.3 良好的灰度发布和降级功能 425
    17.1.4 合理地拆分代码 425
    17.2 应用服务器调优 425
    第18章 MySQL Server调优 427
    18.1 概述 427
    18.2 MySQL的主要参数 428
    18.3 MySQL内存优化 433
    18.3.1 如何避免使用swap 433
    18.3.2 NUMA 434
    18.4 MySQL CPU优化 437
    18.5 MySQL I/O优化 438
    18.5.1 概述 438
    18.5.2 选择合适的I/O大小 439
    18.5.3 日志缓冲如何刷新到磁盘 439
    18.5.4 事务日志 440
    18.5.5 二进制日志 441
    18.5.6 InnoDB如何打开和刷新数据、日志文件 441
    18.5.7 InnoDB共享表空间和独立表空间 441
    18.5.8 UNDO暴涨的可能性 442
    18.5.9 关于doublewrite buffer 442
    18.5.10 数据库文件分类 442
    18.5.11 何时运行OPTIMIZE TABLE 443
    18.5.12 MySQL磁盘空间 443
    第19章 操作系统、硬件、网络的优化 445
    19.1 基本概念 445
    19.2 文件系统的优化 446
    19.3 内存 448
    19.4 CPU 448
    19.5 I/O 449
    19.5.1 概述 449
    19.5.2 传统磁盘 449
    19.5.3 关于RAID 450
    19.5.4 关于SSD 451
    19.6 网络 452
    第20章 可扩展的架构 454
    20.1 做好容量规划 454
    20.2 扩展和拆分 455
    20.3 读写分离 457
    20.4 切勿过度设计 458
    20.5 可扩展的方法 460
    20.5.1 优化静态内容、动态内容 460
    20.5.2 网络优化 461
    20.5.3 解耦 461
    20.6 使用云数据库 462
    第21章 高可用性 464
    21.1 概述 464
    21.2 单点故障 465
    21.3 MySQL数据库切换 466
    21.4 跨IDC同步 468
    第22章 其他产品的选择 469
    22.1 列式数据库产品 469
    22.2 NoSQL产品的选择 470
    22.2.1 概述 470
    22.2.2 灾难恢复性 472
    22.2.3 可维护性 474
    22.2.4 可靠性 475
    22.2.5 高可用性 475
    22.2.6 高性能 476
    22.2.7 可扩展性 477
    22.2.8 资源利用 479
    22.2.9 功能特性实现 481
    22.2.10 数据结构 484
    22.2.11 选择数据库产品的建议 484
    参考文献 487

    资源宝-—专注于优秀资源搜集共享与发布
    资源宝 » MySQL DBA 修炼之道_数据库教程
    本站所有资源来源于网络,仅限用于学习研究;无任何技术支持!不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除内容。如果您喜欢,请支持正版。如有侵权请邮件与我们联系处理。

     本站部分源码亲测,单个源码赞助前请咨询 

    • 99999访问总数
    • 223会员总数(位)
    • 9545资源总数(个)
    • 900 资源大小(GB)
    • 2391稳定运行(天)

    提供最优质的资源集合

    网站源码 APP源码