自序
致谢
第1 章 开源运动与开源软件MySQL
- 1.1 开源软件的故事
- 1.1.1 GNU 说,我代表着一个梦想
- 1.1.2 FSF 说,兄弟我顶你
- 1.1.3 兄弟,你是"自由软件"吗
- 1.1.4 GPL 说,持证上岗光荣
- 1.1.5 开源软件说,队长别开枪,咱们是一伙的
- 1.2 MySQL 的悄然而至
- 1.2.1 起源
- 1.2.2 根据地成立
- 1.2.3 快速发展,大踏步向前
- 1.2.4 世事难料,不经历风雨怎能见彩虹
- 1.2.5 向前向前向前
- 1.2.6 以开源的心态学开源
第2 章 安装MySQL 数据库软件
- 2.1 Windows 平台安装
- 2.1.1 安装包方式安装
- 2.1.2 压缩包方式安装
- 2.1.3 Windows 平台的一些限制
- 2.2 Linux 平台安装
- 2.2.1 RPM 包方式安装
- 2.2.2 源码编译方式安装
- 2.2.3 二进制包方式安装
第3 章 管理MySQL 数据库服务
- 3.1 Windows 平台下的MySQL 服务
- 3.2 Linux 平台下的MySQL 服务
- 3.2.1 创建数据库服务
- 3.2.2 启动数据库服务
- 3.2.3 配置MySQL 数据库
- 3.3 MySQL 服务管理配置
- 3.3.1 创建管理脚本
- 3.3.2 开机自动启动
第4 章 管理MySQL 库与表
- 4.1 上帝说,要有库
- 4.1.1 说删咱就删
- 4.1.2 说建咱就建
- 4.2 上帝说,要有表
- 4.2.1 想建咱就建
- 4.2.2 想看咱就看
- 4.2.3 想改咱就改
- 4.2.4 想删咱就删
第5 章 MySQL 数据库中的权限体系
- 5.1 谈谈权限处理逻辑
- 5.1.1 能不能连接
- 5.1.2 能不能执行操作
- 5.1.3 权限变更何时生效
- 5.2 权限授予与回收
- 5.2.1 创建用户
- 5.2.2 授予权限
- 5.2.3 查看和收回用户权限
- 5.2.4 删除用户
- 5.3 权限级别
- 5.3.1 全局
- 5.3.2 数据库
- 5.3.3 表
- 5.3.4 列
- 5.3.5 程序
- 5.4 账户安全管理
- 5.4.1 用户与权限设定原则
- 5.4.2 小心历史文件泄密
- 5.4.3 管理员口令丢失怎么办
第6 章 字符,还有个集
- 6.1 基础扫盲
- 6.1.1 关于字符集
- 6.1.2 关于校对规则
- 6.2 支持的字符集和校对规则
- 6.3 指定字符集和校对规则
- 6.3.1 服务端设置默认字符集
- 6.3.2 连接时指定
- 6.3.3 保存时指定
- 6.4 字符集操作示例
- 6.5 角落里的字符集设置
- 6.5.1 字符串的字符集
- 6.5.2 错误提示的字符集
- 6.5.3 国家字符集
第7 章 选择对象的存储引擎
- 7.1 存储引擎体系结构
- 7.2 常见存储引擎
- 7.2.1 MEMORY 存储引擎
- 7.2.2 CSV 存储引擎
- 7.2.3 ARCHIVE 存储引擎
- 7.2.4 BLACKHOLE 存储引擎
- 7.2.5 MERGE 存储引擎
- 7.2.6 FEDERATED 存储引擎
- 7.3 MyISAM 存储引擎
- 7.3.1 MyISAM 引擎特性
- 7.3.2 MyISAM 引擎存储格式
- 7.4 InnoDB 存储引擎
- 7.4.1 默认的存储引擎
- 7.4.2 InnoDB 引擎配置
- 7.4.3 创建和使用InnoDB 表对象
- 7.4.4 逻辑存储结构
- 7.4.5 多版本机制
- 7.4.6 联机修改对象结构
- 7.4.7 InnoDB 表对象的限制条件
第8 章 MySQL 数据库文件结构
- 8.1 初始化选项文件
- 8.2 错误日志文件
- 8.3 查询日志文件
- 8.3.1 慢查询日志
- 8.3.2 普通查询日志
- 8.3.3 配置查询日志
- 8.4 二进制日志文件
- 8.4.1 这个必须有
- 8.4.2 它不是随便的人
- 8.4.3 想说懂你不容易
- 8.5 中继日志及复制状态文件
- 8.6 表对象数据文件
- 8.7 其他文件
- 8.7.1 进程id 文件
- 8.7.2 套接字文件
- 8.7.3 自动配置文件
第9 章 数据导出与导入
- 9.1 利用CSV 存储引擎加载数据
- 9.2 mysqlimport 命令行工具导入数据
- 9.2.1 导入超简单
- 9.2.2 分列超轻松
- 9.2.3 换行很容易
- 9.3 SQL 语句导入数据
- 9.3.1 快来认识下LOAD DATA INFILE
- 9.3.2 字符集咋处理的呐
- 9.3.3 要导入的数据文件放哪儿
- 9.3.4 数据文件的前N 行记录不想导咋办
- 9.3.5 列和行的精确处理
- 9.3.6 对象结构与数据文件不符咋整
- 9.4 SQL 语句导出数据
- 9.4.1 这些知识,不学都会
- 9.4.2 这些知识,一学就会
第10 章 MySQL 数据备份和数据恢复
- 10.1 备份与恢复名词解释
- 10.1.1 物理备份VS 逻辑备份
- 10.1.2 联机备份VS 脱机备份
- 10.1.3 本地备份VS 远程备份
- 10.1.4 完整备份VS 增量备份
- 10.1.5 完整恢复VS 增量恢复
- 10.2 备份工具知多少
- 10.2.1 复制表对象相关文件的方式创建备份集
- 10.2.2 使用mysqlhotcopy 命令行工具创建备份
- 10.2.3 使用mysqldump 命令行工具创建逻辑备份
- 10.2.4 使用SQL 语句创建备份
- 10.2.5 冷复制方式创建物理备份
- 10.2.6 二进制日志创建增量备份
- 10.2.7 第三方工具创建联机备份
- 10.3 Hey Jude, Don't be afraid, 备份咱有mysqldump
- 10.3.1 单个数据库的备份任务
- 10.3.2 备份多个数据库
- 10.3.3 输出定界格式文件
- 10.3.4 恢复mysqldump 创建的备份集
- 10.3.5 多学些mysqldump 命令行参数
- 10.3.6 自动化备份策略
- 10.4 冷备、增量备和备份恢复策略
- 10.4.1 创建冷备份
- 10.4.2 创建增量备份
- 10.4.3 备份和恢复策略
- 10.5 XtraBackup 联机备份
- 10.5.1 关于XtraBackup
- 10.5.2 先试试xtrabackup 命令
- 10.5.3 再用用innobackupex 命令
- 10.5.4 创建增量备份
- 附:Xtrabackup 备份工作机制
- 10.5.5 执行恢复
- 10.5.6 打包和压缩备份集
- 10.5.7 自动化备份脚本
第11 章 MySQL 复制特性
- 11.1 创建复制环境
- 11.1.1 最简单的复制环境部署方法
- 11.1.2 复制环境配置宝典
- 11.1.3 常用的复制环境管理命令
- 11.2 复制特性的实施原理和关键因素
- 11.2.1 复制格式
- 11.2.2 中继日志文件和状态文件
- 11.2.3 复制过滤规则
- 11.3 高级应用技巧
- 11.3.1 通过XtraBackup 创建Slave节点
- 11.3.2 利用Slave 节点创建备份
- 11.3.3 部署级联Slave 增强复制性能
- 11.3.4 半同步机制
- 11.3.5 复制环境中的故障切换
- 11.3.6 延迟复制
第12 章 五花八门的MySQL 管理工具
- 12.1 这些年MySQL 提供的命令行工具
- 12.1.1 mysql_install_db—MySQL建库工具
- 12.1.2 mysqld_safe—MySQL 启动工具
- 12.1.3 mysqld—MySQL 主进程
- 12.1.4 mysqld_multi—MySQL 多实例管理工具
- 12.1.5 mysql—专业命令行工具
- 12.1.6 mysqladmin—管理工具
- 12.1.7 其他常用命令
- 12.2 phpMyAdmin
- 12.2.1 安装phpMyAdmin
- 12.2.2 配置phpMyAdmin
- 12.2.3 试用phpMyAdmin
- 12.3 MySQL Workbench
- 12.3.1 执行SQL 查询
- 12.3.2 数据建模
- 12.3.3 服务管理
- 12.4 其他第三方图形管理工具
第13 章 性能调优与诊断
- 13.1 测试方法
- 13.1.1 关键性指标
- 13.1.2 获取关键性指标
- 13.1.3 TPCC 测试
- 13.2 数据库参数配置优化
- 13.2.1 连接相关参数
- 13.2.2 文件相关参数
- 13.2.3 缓存控制参数
- 13.2.4 MyISAM 专用参数
- 13.2.5 InnoDB 专用参数
- 13.2.6 参数优化案例
- 13.3 分析慢查询日志
- 13.3.1 mysqldumpslow 命令
- 13.3.2 mysqlsla 命令
- 13.4 关注系统状态
- 13.4.1 MySQL 服务在做什么
- 13.4.2 MySQL 语句在做什么
- 13.4.3 实战优化案例
第14 章 部署MySQL 服务监控平台
- 14.1 监控状态,我用Nagios
- 14.1.1 初始化环境
- 14.1.2 初识监控项
- 14.1.3 配置监控项
- 14.1.4 监控服务列表
- 14.2 监控性能,我有Cacti
- 14.2.1 初始化环境与安装Cacti
- 14.2.2 配置MySQL 监控模板
- 14.2.3 监控MySQL 实例
第15 章 搭建MySQL 高可用体系
- 15.1 追求更高稳定性的服务体系
- 15.1.1 可扩展性
- 15.1.2 高可用性
- 15.2 Slave+LVS+Keepalived 实现高可用
- 15.2.1 配置LVS
- 15.2.2 配置RealServer
- 15.2.3 增加高可用能力
- 15.3 Dual-Master 高可用环境
- 15.3.1 故障随便切换
- 15.3.2 IP 自动飘移
- 15.3.3 架构设计有讲究
- 15.4 DRBD,为Master 节点数据提供更高保障
- 15.4.1 基础知识扫扫盲
- 15.4.2 一个好汉多个帮
- 15.5 官方集群正统MySQL Cluster
- 15.5.1 Cluster 体系结构概述
- 15.5.2 Cluster 安装与配置
- 15.5.3 Cluster 应用初体验
- 15.6 继续扩展数据库服务
- 15.6.1 该拆分时要拆分
- 15.6.2 处理策略得想清
……