展开全部

主编推荐语

本书适合数据库管理人员、数据库开发人员、系统维护人员及其他数据库从业人员阅读,也适合用作院校相关专业师生的参考用书和相关培训机构的培训教材。

内容简介

本书从数据库的基础、开发、优化、管理维护和架构5个方面对MySQL进行了详细的介绍,每一部分都独立成篇。基础篇主要适合于MySQL的初学者阅读,包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等内容。开发篇主要适合于MySQL的设计和开发人员阅读,内容包括表类型(存储引擎)的选择、选择合适的数据类型、字符集、索引的设计和使用、视图、存储过程和函数、触发器、事务控制和锁定语句、SQL中的安全问题、SQL Mode及相关问题、分区等。优化篇主要适合于开发人员和数据库管理员阅读,内容包括SQL优化、优化数据库对象、锁问题、优化MySQL Server、磁盘I/O问题、应用优化等。管理维护篇主要适合于数据库管理员阅读,内容包括MySQL高级安装和升级、MySQL中的常用工具、MySQL日志、备份与恢复、MySQL权限与安全、MySQL监控、MySQL常见问题和应用技巧等。架构篇主要适合高级数据库管理人员和数据库架构设计师阅读,包括MySQL复制、MySQL Cluster、高可用架构等内容。

本书的作者都是MySQL方面的资深DBA。本书不但融入了他们丰富的工作经验和多年的使用心得,还提供了大量来自工作现场的实例,具有很强的实战性和可操作性。

目录

  • 版权信息
  • 前言
  • 第一部分 基础篇
  • 第1章 MySQL的安装与配置
  • 1.1 MySQL的下载
  • 1.1.1 在Windows平台下下载MySQL
  • 1.1.2 在Linux平台下下载MySQL
  • 1.2 MySQL的安装
  • 1.2.1 在Windows平台下安装MySQL
  • 1.2.2 在Linux平台下安装MySQL
  • 1.3 MySQL的配置
  • 1.3.1 Windows平台下配置MySQL
  • 1.3.2 Linux平台下配置MySQL
  • 1.4 启动和关闭MySQL服务
  • 1.4.1 在Windows平台下启动和关闭MySQL服务
  • 1.4.2 在Linux平台下启动和关闭MySQL服务
  • 1.5 小结
  • 第2章 SQL基础
  • 2.1 SQL简介
  • 2.2 (My)SQL使用入门
  • 2.2.1 SQL分类
  • 2.2.2 DDL语句
  • 2.2.3 DML语句
  • 2.2.4 DCL语句
  • 2.3 帮助的使用
  • 2.3.1 按照层次看帮助
  • 2.3.2 快速查阅帮助
  • 2.3.3 常用的网络资源
  • 2.4 查询元数据信息
  • 2.5 小结
  • 第3章 MySQL支持的数据类型
  • 3.1 数值类型
  • 3.2 日期时间类型
  • 3.3 字符串类型
  • 3.3.1 CHAR和VARCHAR类型
  • 3.3.2 BINARY和VARBINARY类型
  • 3.3.3 ENUM类型
  • 3.3.4 SET类型
  • 3.4 小结
  • 第4章 MySQL中的运算符
  • 4.1 算术运算符
  • 4.2 比较运算符
  • 4.3 逻辑运算符
  • 4.4 位运算符
  • 4.5 运算符的优先级
  • 4.6 小结
  • 第5章 常用函数
  • 5.1 字符串函数
  • 5.2 数值函数
  • 5.3 日期和时间函数
  • 5.4 流程函数
  • 5.5 其他常用函数
  • 5.6 小结
  • 第6章 图形化工具的使用
  • 6.1 MySQL Workbench
  • 6.1.1 SQL开发
  • 6.1.2 数据建模
  • 6.1.3 服务器管理
  • 6.1.4 MySQL Utilities
  • 6.2 phpMyAdmin
  • 6.2.1 数据库管理
  • 6.2.2 数据库对象管理
  • 6.2.3 权限管理
  • 6.2.4 导入导出数据
  • 6.3 小结
  • 第二部分 开发篇
  • 第7章 表类型(存储引擎)的选择
  • 7.1 MySQL存储引擎概述
  • 7.2 各种存储引擎的特性
  • 7.2.1 MyISAM
  • 7.2.2 InnoDB
  • 7.2.3 MEMORY
  • 7.2.4 MERGE
  • 7.2.5 TokuDB
  • 7.3 如何选择合适的存储引擎
  • 7.4 小结
  • 第8章 选择合适的数据类型
  • 8.1 CHAR与VARCHAR
  • 8.2 TEXT与BLOB
  • 8.3 浮点数与定点数
  • 8.4 日期类型选择
  • 8.5 小结
  • 第9章 字符集
  • 9.1 字符集概述
  • 9.2 Unicode简述
  • 9.3 汉字及一些常见字符集
  • 9.4 怎样选择合适的字符集
  • 9.5 MySQL支持的字符集简介
  • 9.6 MySQL字符集的设置
  • 9.6.1 服务器字符集和校对规则
  • 9.6.2 数据库字符集和校对规则
  • 9.6.3 表字符集和校对规则
  • 9.6.4 列字符集和校对规则
  • 9.6.5 连接字符集和校对规则
  • 9.7 字符集的修改步骤
  • 9.8 小结
  • 第10章 索引的设计和使用
  • 10.1 索引概述
  • 10.2 设计索引的原则
  • 10.3 BTREE索引与HASH索引
  • 10.4 小结
  • 第11章 视图
  • 11.1 什么是视图
  • 11.2 视图操作
  • 11.2.1 创建或者修改视图
  • 11.2.2 删除视图
  • 11.2.3 查看视图
  • 11.3 小结
  • 第12章 存储过程和函数
  • 12.1 什么是存储过程和函数
  • 12.2 存储过程和函数的相关操作
  • 12.2.1 创建、修改存储过程或者函数
  • 12.2.2 删除存储过程或者函数
  • 12.2.3 查看存储过程或者函数
  • 12.2.4 变量的使用
  • 12.2.5 定义条件和处理
  • 12.2.6 光标的使用
  • 12.2.7 流程控制
  • 12.2.8 事件调度器
  • 12.3 小结
  • 第13章 触发器
  • 13.1 创建触发器
  • 13.2 删除触发器
  • 13.3 查看触发器
  • 13.4 触发器的使用
  • 13.5 小结
  • 第14章 事务控制和锁定语句
  • 14.1 LOCK TABLE和UNLOCK TABLE
  • 14.2 事务控制
  • 14.3 分布式事务的使用
  • 14.3.1 分布式事务的原理
  • 14.3.2 分布式事务的语法
  • 14.3.3 存在的问题
  • 14.4 小结
  • 第15章 SQL中的安全问题
  • 15.1 SQL注入简介
  • 15.2 应用开发中可以采取的应对措施
  • 15.2.1 PrepareStatement+Bind-Variable
  • 15.2.2 使用应用程序提供的转换函数
  • 15.2.3 自己定义函数进行校验
  • 15.3 小结
  • 第16章 SQL Mode及相关问题
  • 16.1 MySQL SQL Mode简介
  • 16.2 SQL Mode的常见功能
  • 16.3 常用的SQL Mode
  • 16.4 SQL Mode在迁移中如何使用
  • 16.5 小结
  • 第17章 MySQL分区
  • 17.1 分区概述
  • 17.2 分区类型
  • 17.2.1 Range分区
  • 17.2.2 List分区
  • 17.2.3 Columns分区
  • 17.2.4 Hash分区
  • 17.2.5 Key分区
  • 17.2.6 子分区
  • 17.2.7 MySQL分区处理NULL值的方式
  • 17.3 分区管理
  • 17.3.1 RANGE&LIST分区管理
  • 17.3.2 HASH&KEY分区管理
  • 17.4 小结
  • 第三部分 优化篇
  • 第18章 SQL优化
  • 18.1 优化SQL语句的一般步骤
  • 18.1.1 通过show status命令了解各种SQL的执行频率
  • 18.1.2 定位执行效率较低的SQL语句
  • 18.1.3 通过EXPLAIN分析低效SQL的执行计划
  • 18.1.4 通过show profile分析SQL
  • 18.1.5 通过trace分析优化器如何选择执行计划
  • 18.1.6 确定问题并采取相应的优化措施
  • 18.2 索引问题
  • 18.2.1 索引的存储分类
  • 18.2.2 MySQL如何使用索引
  • 18.2.3 查看索引使用情况
  • 18.3 两个简单实用的优化方法
  • 18.3.1 定期分析表和检查表
  • 18.3.2 定期优化表
  • 18.4 常用SQL的优化
  • 18.4.1 大批量插入数据
  • 18.4.2 优化INSERT语句
  • 18.4.3 优化ORDER BY语句
  • 18.4.4 优化GROUP BY语句
  • 18.4.5 优化嵌套查询
  • 18.4.6 MySQL如何优化OR条件
  • 18.4.7 优化分页查询
  • 18.4.8 使用SQL提示
  • 18.5 常用SQL技巧
  • 18.5.1 正则表达式的使用
  • 18.5.2 巧用RAND()提取随机行
  • 18.5.3 利用GROUP BY的WITH ROLLUP子句
  • 18.5.4 用BIT GROUP FUNCTIONS做统计
  • 18.5.5 数据库名、表名大小写问题
  • 18.5.6 使用外键需要注意的问题
  • 18.6 小结
  • 第19章 优化数据库对象
  • 19.1 优化表的数据类型
  • 19.2 通过拆分提高表的访问效率
  • 19.3 逆规范化
  • 19.4 使用中间表提高统计查询速度
  • 19.5 小结
  • 第20章 锁问题
  • 20.1 MySQL锁概述
  • 20.2 MyISAM表锁
  • 20.2.1 查询表级锁争用情况
  • 20.2.2 MySQL表级锁的锁模式
  • 20.2.3 如何加表锁
  • 20.2.4 并发插入(Concurrent Inserts)
  • 20.2.5 MyISAM的锁调度
  • 20.3 InnoDB锁问题
  • 20.3.1 背景知识
  • 20.3.2 获取InnoDB行锁争用情况
  • 20.3.3 InnoDB的行锁模式及加锁方法
  • 20.3.4 InnoDB行锁实现方式
  • 20.3.5 Next-Key锁
  • 20.3.6 恢复和复制的需要,对InnoDB锁机制的影响
  • 20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异
  • 20.3.8 什么时候使用表锁
  • 20.3.9 关于死锁
  • 20.4 小结
  • 第21章 优化MySQL Server
  • 21.1 MySQL体系结构概览
  • 21.2 MySQL内存管理及优化
  • 21.2.1 内存优化原则
  • 21.2.2 MyISAM内存优化
  • 21.2.3 InnoDB内存优化
  • 21.2.4 调整用户服务线程排序缓存区
  • 21.3 InnoDB log机制及优化
  • 21.3.1 InnoDB重做日志
  • 21.3.2 innodb_flush_log_at_trx_commit的设置
  • 21.3.3 设置log file size,控制检查点
  • 21.3.4 调整innodb_log_buffer_size
  • 21.4 调整MySQL并发相关的参数
  • 21.4.1 调整max_connections,提高并发连接
  • 21.4.2 调整back_log
  • 21.4.3 调整table_open_cache
  • 21.4.4 调整thread_cache_size
  • 21.4.5 innodb_lock_wait_timeout的设置
  • 21.5 小结
  • 第22章 磁盘I/O问题
  • 22.1 使用磁盘阵列
  • 22.1.1 常见RAID级别及其特性
  • 22.1.2 如何选择RAID级别
  • 22.2 虚拟文件卷或软RAID
  • 22.3 使用Symbolic Links分布I/O
  • 22.4 禁止操作系统更新文件的atime属性
  • 22.5 用裸设备(Raw Device)存放InnoDB的共享表空间
  • 22.6 调整I/O调度算法
  • 22.7 RAID卡电池充放电问题
  • 22.7.1 什么是RAID卡电池充放电
  • 22.7.2 RAID卡缓存策略
  • 22.7.3 如何应对RAID卡电池充放电带来的I/O性能波动
  • 22.8 NUMA架构优化
  • 22.9 小结
  • 第23章 应用优化
  • 23.1 使用连接池
  • 23.2 减少对MySQL的访问
  • 23.2.1 避免对同一数据做重复检索
  • 23.2.2 使用查询缓存
  • 23.2.3 增加CACHE层
  • 23.3 负载均衡
  • 23.3.1 利用MySQL复制分流查询操作
  • 23.3.2 采用分布式数据库架构
  • 23.4 其他优化措施
  • 23.5 小结
  • 第四部分 管理维护篇
  • 第24章 MySQL高级安装和升级
  • 24.1 Linux/UNIX平台下的安装
  • 24.1.1 安装包比较
  • 24.1.2 安装RPM包
  • 24.1.3 安装二进制包
  • 24.1.4 安装源码包
  • 24.1.5 参数设置方法
  • 24.2 源码包安装的性能考虑
  • 24.2.1 去掉不需要的模块
  • 24.2.2 只选择要使用的字符集
  • 24.2.3 使用静态编译以提高性能
  • 24.3 升级MySQL
  • 24.4 MySQL降级
  • 24.5 小结
  • 第25章 MySQL中的常用工具
  • 25.1 mysql(客户端连接工具)
  • 25.1.1 连接选项
  • 25.1.2 客户端字符集选项
  • 25.1.3 执行选项
  • 25.1.4 格式化选项
  • 25.1.5 错误处理选项
  • 25.2 myisampack(MyISAM表压缩工具)
  • 25.3 mysqladmin(MySQL管理工具)
  • 25.4 mysqlbinlog(日志管理工具)
  • 25.5 mysqlcheck(MyISAM表维护工具)
  • 25.6 mysqldump(数据导出工具)
  • 25.6.1 连接选项
  • 25.6.2 输出内容选项
  • 25.6.3 输出格式选项
  • 25.6.4 字符集选项
  • 25.6.5 其他常用选项
  • 25.7 mysqlhotcopy(MyISAM表热备份工具)
  • 25.8 mysqlimport(数据导入工具)
  • 25.9 mysqlshow(数据库对象查看工具)
  • 25.10 perror(错误代码查看工具)
  • 25.11 replace(文本替换工具)
  • 25.12 小结
  • 第26章 MySQL日志
  • 26.1 错误日志
  • 26.2 二进制日志
  • 26.2.1 日志的位置和格式
  • 26.2.2 日志的读取
  • 26.2.3 日志的删除
  • 26.2.4 其他选项
  • 26.3 查询日志
  • 26.3.1 日志的位置和格式
  • 26.3.2 日志的读取
  • 26.4 慢查询日志
  • 26.4.1 文件位置和格式
  • 26.4.2 日志的读取
  • 26.5 mysqlsla简介
  • 26.6 小结
  • 第27章 备份与恢复
  • 27.1 备份/恢复策略
  • 27.2 逻辑备份和恢复
  • 27.2.1 备份
  • 27.2.2 完全恢复
  • 27.2.3 基于时间点恢复
  • 27.2.4 基于位置恢复
  • 27.3 物理备份和恢复
  • 27.3.1 冷备份
  • 27.3.2 热备份
  • 27.4 表的导入导出
  • 27.4.1 导出
  • 27.4.2 导入
  • 27.5 小结
  • 第28章 MySQL权限与安全
  • 28.1 MySQL权限管理
  • 28.1.1 权限系统的工作原理
  • 28.1.2 权限表的存取
  • 28.1.3 账号管理
  • 28.2 MySQL安全问题
  • 28.2.1 操作系统相关的安全问题
  • 28.2.2 数据库相关的安全问题
  • 28.3 其他安全设置选项
  • 28.3.1 old-passwords
  • 28.3.2 safe-user-create
  • 28.3.3 secure-auth
  • 28.3.4 skip-grant-tables
  • 28.3.5 skip-network
  • 28.3.6 skip-show-database
  • 28.4 小结
  • 第29章 MySQL监控
  • 29.1 如何选择一个监控方案
  • 29.1.1 选择何种监控方式
  • 29.1.2 如何选择适合自己的监控工具
  • 29.2 常用网络监控工具
  • 29.2.1 Cacti简介
  • 29.2.2 Nagios简介
  • 29.2.3 Zabbix简介
  • 29.2.4 几种常见开源软件比较
  • 29.3 Zabbix部署
  • 29.3.1 Zabbix Server软件安装
  • 29.3.2 Zabbix Server配置与启动
  • 29.3.3 配置Zabbix Web服务端
  • 29.3.4 Zabbix Agent安装和配置
  • 29.3.5 MPM插件介绍和部署
  • 29.3.6 Zabbix Web端操作
  • 29.4 小结
  • 第30章 MySQL常见问题和应用技巧
  • 30.1 忘记MySQL的root密码
  • 30.2 如何处理MyISAM存储引擎的表损坏
  • 30.2.1 方法一:使用myisamchk工具
  • 30.2.2 方法二:使用SQL命令
  • 30.3 MyISAM表超过4GB无法访问的问题
  • 30.4 数据目录磁盘空间不足的问题
  • 30.4.1 对于MyISAM存储引擎的表
  • 30.4.2 对于InnoDB存储引擎的表
  • 30.5 DNS反向解析的问题
  • 30.6 mysql.sock丢失后如何连接数据库
  • 30.7 同一台服务器运行多个MySQL数据库
  • 30.8 客户端怎么访问内网数据库
  • 30.8.1 方法一:使用SecureCRT客户端工具
  • 30.8.2 方法二:使用MySQL Proxy工具
  • 30.9 小结
  • 第五部分 架构篇
  • 第31章 MySQL复制
  • 31.1 复制概述
  • 31.1.1 复制中的各类文件
  • 31.1.2 三种复制方式
  • 31.1.3 复制的3种常见架构
  • 31.2 复制搭建过程
  • 31.2.1 异步复制
  • 31.2.2 半同步复制(Semi-synchronous Replication)
  • 31.3 主要复制启动选项
  • 31.3.1 log-slave-updates
  • 31.3.2 master-connect-retry
  • 31.3.3 read-only
  • 31.3.4 指定复制的数据库或者表
  • 31.3.5 slave-skip-errors
  • 31.4 日常管理维护
  • 31.4.1 查看从库状态
  • 31.4.2 主从库同步维护
  • 31.4.3 从库复制出错的处理
  • 31.4.4 log event entry exceeded max_allowed_packet的处理
  • 31.4.5 多主复制时的自增长变量冲突问题
  • 31.4.6 查看从库的复制进度
  • 31.4.7 如何提高复制的性能
  • 31.5 切换主从库
  • 31.6 小结
  • 第32章 MySQL Cluster
  • 32.1 MySQL Cluster架构
  • 32.2 MySQL Cluster的配置
  • 32.2.1 MySQL Cluster的版本支持
  • 32.2.2 管理节点配置步骤
  • 32.2.3 SQL节点和数据节点的配置
  • 32.3 开始使用Cluster
  • 32.3.1 Cluster的启动
  • 32.3.2 Cluster的测试
  • 32.3.3 Cluster的关闭
  • 32.4 维护Cluster
  • 32.4.1 数据备份
  • 32.4.2 数据恢复
  • 32.4.3 日志管理
  • 32.5 小结
  • 第33章 高可用架构
  • 33.1 MMM架构
  • 33.2 MHA架构
  • 33.3 安装部署MHA
  • 33.3.1 安装MHA node(在所有的MySQL服务器上安装)
  • 33.3.2 安装MHA Manager
  • 33.3.3 配置SSH登录无密码验证
  • 33.3.4 搭建主从复制环境
  • 33.3.5 配置MHA
  • 33.3.6 检查SSH的配置
  • 33.3.7 检查整个复制环境状况
  • 33.3.8 检查MHA Manager的状态
  • 33.3.9 开启MHA Manager监控
  • 33.3.10 查看启动日志
  • 33.3.11 关闭MHA Manager监控
  • 33.3.12 VIP配置
  • 33.3.13 自动Failover
  • 33.3.14 网络问题触发的Failover操作
  • 33.3.15 手动Failover
  • 33.3.16 在线进行切换
  • 33.3.17 修复宕机的Master
  • 33.4 小结
展开全部

评分及书评

评分不足
1个评分
  • 用户头像
    给这本书评了
    5.0

    MySQL 是由 David AxmarkAllan Larsson Michael Widenius 3 个瑞典人于 20 世纪 90 年代开发的一个关系型数据库。最初,他们的目的是用自己的 ISAMIndexed Sequential Access Method,索引顺序存取方法)和 mSQLMini SQL,一种轻量级 SQL 数据库引擎技术)来连接访问表格,但后来发现 mSQL 的速度和灵活性不能满足需求,于是他们开发了几乎与 mSQL API 接口相同的数据库引擎,并用创始人之一 Michael Widenius 女儿 My 的名字命名,这就是 MySQL 的来由。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。