Skip to content

MySQL 5.6参考手册阅读笔记

Edward Lee edited this page Jul 12, 2015 · 42 revisions

MySQL Reference Manuals

MySQL Documentation Archive(包括 5.1参考手册中文版

MySQL 5.6 Reference Manual(请下载此PDF!!!)

Abstract - 主题指南(先来这里瞧瞧吧,有惊喜哦!!!)

入门

2 Installing and Upgrading MySQL - 安装和升级MySQL(请细读!!!)

2.1 General Installation Guidance - 一般安装指南
2.1.1 Which MySQL Version and Distribution to Install - 安装MySQL哪个版本和发布包
  • GA版本,也称为生产或稳定版,是为了用于生产。我们推荐使用最新的GA版本!
  • 对于大多数使用情况,二进制的发布包是正确的选择。
2.1.2 How to Get MySQL - 怎样获得MySQL
2.1.3 Verifying Package Integrity Using MD5 Checksums or GnuPG - 使用MD5校验码或GnuPG来验证软件包的完整性
2.1.4 Installation Layouts 安装文件的布局
  • Table 2.3, “MySQL Installation Layout for Generic Unix/Linux Binary Package”
2.10 Postinstallation Setup and Testing - 安装后的设置和测试
2.10.2 Starting the Server - 启动“服务器”
2.10.3 Testing the Server - 测试“服务器”
2.10.4 Securing the Initial MySQL Accounts - 安全的“初始MySQL账户”
2.10.5 Starting and Stopping MySQL Automatically - 自动启动和停止MySQL

10 Globalization - 全局设置

10.1 Character Set Support - “字符集”支持
10.1.3 Specifying Character Sets and Collations - 指定服务器的“字符集和排序规则”
10.1.4 Connection Character Sets and Collations - 连接字符串和排序规则
10.1.5 Configuring the Character Set and Collation for Applications - 配置应用的“字符集和排序规则”

3 Tutorial - 教程

  • 本章提供了一个介绍MySQL的教程,通过展示“如何使用mysql客户端程序来创建和使用一个简单的数据库”。
3.1 Connecting to and Disconnecting from the Server - 连接与断开“服务器”
3.2 Entering Queries - 输入“查询命令”
  • 本节介绍了输入“命令”的基本原则,你可以尝试使用几个查询来熟悉“MySQL是如何工作的”。
  • mysql终端各提示符及其含义
3.3 Creating and Using a Database - 创建并使用“数据库”
3.3.1 Creating and Selecting a Database - 创建并选择“数据库”
3.3.2 Creating a Table - 创建“表”
3.3.3 Loading Data into a Table - 将“数据”加载到“表”中
3.3.4 Retrieving Information from a Table - 从“表”中检索信息
3.4 Getting Information About Databases and Tables - 获取“数据库和表”有关的信息
3.5 Using mysql in Batch Mode - 在“批处理模式”下使用mysql
3.6 Examples of Common Queries - “常用查询”示例

4 MySQL Programs - MySQL程序

4.1 Overview of MySQL Programs - “MySQL命令行程序”概述
服务器
  • mysqld - MySQL服务器、SQL守护进程
  • mysqld_safe - “服务器”启动脚本
设置操作执行程序
  • mysql_install_db - 初始化“MySQL数据目录”,创建“数据库”并使用默认的权限来初始化其“授权表”,同时设置“InnoDB的系统表空间”
  • mysql_upgrade - 检查并升级“MySQL表”
客户端程序
  • mysql - 用于交互式地输入“SQL语句”或从一个文件中以批处理模式执行它们
  • mysqladmin - 执行“管理操作”的客户端(例如,创建或删除“数据库”、重新加载“授权表”、将“表数据”刷到磁盘、重新打开“日志文件”,也可用于检索“服务器”的版本号、进程和状态信息)
  • mysqlcheck - “表维护”客户端,用于检查、修复、分析和优化“表”
  • mysqldump - “数据库备份”程序,转储“一个数据库”到“一个文件”
  • mysqlimport - “数据导入”程序,导入“文本文件”到“各自的表”
  • mysqlslap - “负载模拟”客户端,被设计用来模拟“MySQL服务器的客户端负载”并报告各阶段的耗时情况
管理和实用程序
  • mysqlaccess - 检查“主机名、用户名和数据库的组合”的访问权限
  • mysqlbinlog - 读取“二进制日志文件”中的“执行语句”(保存在二进制日志文件中的“执行语句日志”可用来帮助“从崩溃中恢复”)
  • mysqldumpslow - 读取和概述了“慢查询日志”的内容
  • mysql_setpermission - 用于交互式地设置“授权表”中的“权限”
其他实用工具
  • perror - 显示“系统或MySQL错误码”的含义
4.2 Using MySQL Programs - 使用“MySQL程序”
4.2.1 Invoking MySQL Programs - 调用“MySQL程序”
  • 最经常使用的选项是指定连接参数的--host(-h)、--user(-u)和--password(-p)
4.2.2 Connecting to the MySQL Server - 连接到“MySQL服务器”
4.2.3 Specifying Program Options - 指定程序选项
4.2.6 Using Option Files - 使用“选项文件”(Unix, Linux)
4.2.10 Setting Environment Variables - 设置环境变量
4.5 MySQL Client Programs - MySQL客户端程序
4.5.1 mysql — The MySQL Command-Line Tool - MySQL命令行工具
  • 4.5.1.2 mysql Commands - mysql命令列表
  • 4.5.1.4 mysql Server-Side Help - mysql服务端参考手册搜索帮助
  • 4.5.1.6 mysql Tips - mysql小技巧,包括“输入行”编译、UTF-8支持、垂直显示“查询结果”、使用“安全更新”选项、禁用“mysql的自动重新连接”(帮助您更高效地使用MySQL——☆☆★)

13 SQL Statement Syntax - SQL语句语法

13.1 Data Definition Statements - 数据定义语句
13.1.10 CREATE DATABASE - 创建“数据库”
13.1.17 CREATE TABLE - 创建“表”
  • Physical Representation - 物理表示
  • Data Types and Attributes for Columns - 数据类型和列属性
  • Storage Engines - 存储引擎
13.1.7 ALTER TABLE - 修改“表的结构”
  • Storage, Performance, and Concurrency Considerations - 存储、性能与并发考虑(概述了“ALTER TABLE”的背后实现机制)
  • Usage Notes - 使用注意事项(请细读!)
  • 13.1.7.3 ALTER TABLE Examples - 示例
13.1.13 CREATE INDEX - 创建“索引”
13.2 Data Manipulation Statements - 数据操作语句
13.2.5 INSERT - 插入“新的行数据”
13.2.9 SELECT - 检索“行数据”
13.2.11 UPDATE - 更新“匹配的行数据”
13.2.2 DELETE - 删除“匹配的行数据”
  • InnoDB Tables(如何一次性地删除一张大表中的很多行数据)
13.5 SQL Syntax for Prepared Statements - 预编译语句的SQL
  • Prepared Statements in Application Programs - 应用程序中的预编译语句
  • PREPARE, EXECUTE, and DEALLOCATE PREPARE Statements
  • SQL Syntax Allowed in Prepared Statements
13.5.1 PREPARE - 准备阶段
13.5.2 EXECUTE - 执行阶段
13.5.3 DEALLOCATE PREPARE - 删除阶段
13.6 Compound-Statement - 组合语句
13.6.1 BEGIN ... END Compound-Statement
13.4 Replication Statements - “复制”语句
13.4.1 SQL Statements for Controlling Master Servers - 控制“主节点”的SQL语句
13.4.2 SQL Statements for Controlling Slave Servers - 控制“从节点”的SQL语句
13.7 Database Administration Statements - 数据库管理语句
13.7.5 SHOW - 提供“数据库、表、列、服务器状态”的相关信息
  • 13.7.5.6 SHOW COLUMNS - 显示“给定表的列信息”
  • 13.7.5.8 SHOW CREATE DATABASE - 显示“创建数据库的语句”
  • 13.7.5.12 SHOW CREATE TABLE - 显示“创建表的语句”
  • 13.7.5.15 SHOW DATABASES - 列出“在当前服务器上的所有数据库”
  • 13.7.5.17 SHOW ENGINES - 显示“存储引擎的状态信息”
  • 13.7.5.23 SHOW INDEX - 返回“表的索引信息”
  • 13.7.5.24 SHOW MASTER STATUS - 提供“主服务器的二进制日志文件的状态信息”
  • 13.7.5.30 SHOW PROCESSLIST - 显示“哪个线程正在运行”
  • 13.7.5.35 SHOW SLAVE STATUS - 提供“从服务器线程的基本参数状态信息”
  • 13.7.5.36 SHOW STATUS - 提供“服务器状态信息”
  • 13.7.5.37 SHOW TABLE STATUS - 显示“表的状态信息”
  • 13.7.5.40 SHOW VARIABLES - 显示“系统变量的值”
13.8 MySQL Utility Statements - 辅助工具语句
13.8.2 EXPLAIN - 获取“查询执行计划”
  • DESCRIBE: Obtaining Table Structure Information - 获取“表结构信息”
  • EXPLAIN: Obtaining Execution Plan Information - 获取“执行计划信息”
13.8.4 USE - 变更“当前数据库”

14 The InnoDB Storage Engine - InnoDB存储引擎

15 Alternative Storage Engines - 其他可选的存储引擎

5 MySQL Server Administration - “MySQL服务器”管理

  • 本章提供“MySQL服务器概述”,并覆盖“服务器管理”。
5.1 The MySQL Server - MySQL服务器
5.1.2 Server Configuration Defaults - 服务器默认配置
5.1.4 Server System Variables - 服务器系统变量
5.1.6 Server Status Variables - 服务器状态变量
5.1.12 The Shutdown Process - 关闭过程
5.2 MySQL Server Logs - MySQL服务器日志

进阶

8 Optimization - 优化(☆☆☆★★)

8.1 Optimization Overview - 优化概述
  • 数据库级别优化、硬件级别优化
8.2 Optimizing SQL Statements - 优化SQL语句
8.2.1 Optimizing SELECT Statements - 优化SELECT查询语句
8.2.2 Optimizing DML Statements - 优化DML更新语句
8.3 Optimization and Indexes - 索引优化
  • 提高SELECT操作性能的最好办法是对“查询测试中涉及到的若干列”创建“索引”
  • 你必须使用可优化的“索引集”来找到“实现快速查询的正确平衡点”
8.3.1 How MySQL Uses Indexes - MySQL如何使用索引
8.3.2 Using Primary Keys - 使用“主键”(解释了“为什么每张表都需要创建一个单独的自动递增值的列作为主键使用”的原因)
8.3.5 Multiple-Column Indexes - 多列索引
8.3.6 Verifying Index Usage - 验证索引的使用
  • 请务必检查所有的查询是否真正使用了“索引”!!!
8.3.8 Comparison of B-Tree and Hash Indexes - B树索引和哈希索引的比较
8.4 Optimizing Database Structure - 优化数据库结构
8.4.1 Optimizing Data Size - 优化数据大小
8.4.2 Optimizing MySQL Data Types - 优化MySQL数据类型
8.5 Optimizing for InnoDB Tables - 优化InnoDB表
8.5.1 Optimizing Storage Layout for InnoDB Tables - 优化“表的存储布局”
8.5.2 Optimizing InnoDB Transaction Management - 优化“事务管理”
8.5.3 Optimizing InnoDB Read-Only Transactions - 优化“只读事务”
8.5.4 Optimizing InnoDB Logging - 优化“日志记录”
8.5.5 Bulk Data Loading for InnoDB Tables - 批量加载“表的数据”
8.5.6 Optimizing InnoDB Queries - 优化“查询”
8.5.8 Optimizing InnoDB Disk I/O - 优化“磁盘I/O”
8.5.9 Optimizing InnoDB Configuration Variables - 优化配置变量
8.6 Optimizing for MyISAM Tables - 优化MyISAM表
8.8 Understanding the Query Execution Plan - 了解“查询执行计划(EXPLAIN计划)”
8.8.1 Optimizing Queries with EXPLAIN - 使用“EXPLAIN”来优化查询
8.8.2 EXPLAIN Output Format - EXPLAIN输出格式
  • Output Columns - 输出列
  • Join Types - 联接类型
  • Extra Information - 附加信息
  • Output Interpretation - 输出解读
8.8.4 Estimating Query Performance - 评估“查询性能”
8.8.5 Controlling the Query Optimizer - 控制“查询优化器”
8.9 Buffering and Caching - 缓冲区和缓存
8.10 Optimizing Locking Operations - 优化“锁定操作”
8.10.1 Internal Locking Methods - 内部锁定方法
  • Row-Level Locking - “行级别”锁定
  • Table-Level Locking - “表级别”锁定
8.10.2 Table Locking Issues - 表锁定问题
8.11 Optimizing the MySQL Server - 优化“MySQL服务器”
8.11.1 System Factors and Startup Parameter Tuning - “系统因素和启动参数”调节
8.11.2 Tuning Server Parameters - 调节“服务器参数”
8.11.3 Optimizing Disk I/O - 优化“磁盘I/O”
8.11.4 Optimizing Memory Use - 优化“内存使用”
8.11.5 Optimizing Network Use - 优化“网络使用”
8.11.6 The Thread Pool Plugin - “线程池”插件
8.12 Measuring Performance (Benchmarking) - 测量性能(基准测试)
Clone this wiki locally