MySQL 安装中包含许多不同的程序。本节将简要概述这些程序。后续章节将更详细地描述每个程序(NDB Cluster 程序除外)。每个程序的描述包括其调用语法和支持的选项。第 21.5 节“NDB Cluster 程序”将介绍与 NDB Cluster 相关的特定程序。
大多数 MySQL 发行版都包含所有这些程序,除了那些特定于平台的程序(例如,Windows 上不使用服务器启动脚本)。例外情况是 RPM 发行版更加专业化:一个 RPM 用于服务器,另一个用于客户端程序,依此类推。如果您似乎缺少一个或多个程序,请参阅第 2 章“安装和升级 MySQL”,了解发行版的类型及其包含的内容。可能是您的发行版未包含所有程序,您需要安装额外的软件包。
每个 MySQL 程序都支持许多不同的选项。大多数程序提供了
--help 选项,您可以使用它来获取程序不同选项的描述。例如,可以尝试运行
mysql --help。
您可以通过在命令行或选项文件中指定选项来覆盖 MySQL 程序的默认选项值。有关调用程序和指定程序选项的更多信息,请参阅第 4.2 节“使用 MySQL 程序”。
MySQL 服务器
mysqld 是 MySQL 安装中执行大部分工作的主要程序。服务器附带了一些相关脚本,帮助您启动和停止服务器:
mysqld
SQL 守护进程(即 MySQL 服务器)。要使用客户端程序,
mysqld 必须运行,因为客户端通过连接到服务器来访问数据库。详见第 4.3.1 节“mysqld — MySQL 服务器”。
mysqld_safe
服务器启动脚本。
mysqld_safe 尝试启动
mysqld。详见第 4.3.2 节“mysqld_safe — MySQL 服务器启动脚本”。
mysql.server
服务器启动脚本。此脚本用于使用 System V 风格运行目录的系统,这些目录包含用于特定运行级别的系统服务启动脚本。它调用
mysqld_safe 来启动 MySQL 服务器。详见第 4.3.3 节“mysql.server — MySQL 服务器启动脚本”。
mysqld_multi 服务器启动脚本,可以启动或停止系统上安装的多个服务器。详见第 4.3.4 节“mysqld_multi — 管理多个 MySQL 服务器”。
在 MySQL 安装或升级过程中,有几个程序用于执行设置操作:
comp_err 此程序在 MySQL 构建/安装过程中使用。它从错误源文件编译错误消息文件。详见第 4.4.1 节“comp_err — 编译 MySQL 错误消息文件”。
mysql_install_db
此程序初始化 MySQL 数据目录,创建
mysql 数据库并使用默认权限初始化其授权表,并设置 InnoDB 系统表空间。通常只在系统上第一次安装 MySQL 时执行一次。详见第 4.4.2 节“mysql_install_db — 初始化 MySQL 数据目录”和第 2.9 节“安装后设置和测试”。
mysql_plugin 此程序用于配置 MySQL 服务器插件。详见第 4.4.3 节“mysql_plugin — 配置 MySQL 服务器插件”。
mysql_secure_installation 此程序用于提高 MySQL 安装的安全性。详见第 4.4.4 节“mysql_secure_installation — 提高 MySQL 安装安全性”。
mysql_ssl_rsa_setup
此程序创建支持安全连接所需的 SSL 证书和密钥文件以及 RSA 密钥对文件(如果这些文件缺失)。
mysql_ssl_rsa_setup 创建的文件可用于使用 SSL 或 RSA 的安全连接。详见第 4.4.5 节“mysql_ssl_rsa_setup — 创建 SSL/RSA 文件”。
mysql_tzinfo_to_sql
此程序使用主机系统的
zoneinfo 数据库(描述时区的文件集)的内容加载
mysql 数据库中的时区表。详见第 4.4.6 节“mysql_tzinfo_to_sql — 加载时区表”。
mysql_upgrade 此程序用于 MySQL 升级操作后。它更新授权表以反映 MySQL 新版本中的更改,并检查表的兼容性并在必要时修复它们。详见第 4.4.7 节“mysql_upgrade — 检查和升级 MySQL 表”。
连接到 MySQL 服务器的 MySQL 客户端程序:
mysql 用于交互式输入 SQL 语句或以批处理模式从文件执行 SQL 语句的命令行工具。详见第 4.5.1 节“mysql — MySQL 命令行客户端”。
mysqladmin
执行管理操作的客户端,例如创建或删除数据库、重新加载授权表、将表刷新到磁盘以及重新打开日志文件。
mysqladmin 还可用于从服务器检索版本、进程和状态信息。详见第 4.5.2 节“mysqladmin — MySQL 服务器管理程序”。
mysqlcheck 表维护客户端,用于检查、修复、分析和优化表。详见第 4.5.3 节“mysqlcheck — 表维护程序”。
mysqldump 将 MySQL 数据库转储为 SQL、文本或 XML 文件的客户端。详见第 4.5.4 节“mysqldump — 数据库备份程序”。
mysqlimport
使用
LOAD DATA 将文本文件导入到相应表中的客户端。详见第 4.5.5 节“mysqlimport — 数据导入程序”。
mysqlpump 将 MySQL 数据库转储为 SQL 文件的客户端。详见第 4.5.6 节“mysqlpump — 数据库备份程序”。
mysqlsh
MySQL Shell 是 MySQL 服务器的高级客户端和代码编辑器。详见 MySQL Shell 8.0。除了提供类似于
mysql 的 SQL 功能外,MySQL Shell 还提供了 JavaScript 和 Python 的脚本功能,并包含用于操作 MySQL 的 API。X DevAPI 使您能够处理关系数据和文档数据,详见第 19 章“使用 MySQL 作为文档存储”。AdminAPI 使您能够操作 InnoDB Cluster,详见 MySQL AdminAPI。
mysqlshow 显示数据库、表、列和索引信息的客户端。详见第 4.5.7 节“mysqlshow — 显示数据库、表和列信息”。
mysqlslap 设计用于模拟 MySQL 服务器的客户端负载并报告每个阶段的时间的客户端。它的工作方式类似于多个客户端访问服务器。详见第 4.5.8 节“mysqlslap — 负载模拟客户端”。
MySQL 管理和实用程序:
innochecksum 离线 InnoDB 文件校验和实用程序。详见第 4.6.1 节“innochecksum — 离线 InnoDB 文件校验和实用程序”。
myisam_ftdump 显示 MyISAM 表中全文索引信息的实用程序。详见第 4.6.2 节“myisam_ftdump — 显示全文索引信息”。
myisamchk 用于描述、检查、优化和修复 MyISAM 表的实用程序。详见第 4.6.3 节“myisamchk — MyISAM 表维护实用程序”。
myisamlog 处理 MyISAM 日志文件内容的实用程序。详见第 4.6.4 节“myisamlog — 显示 MyISAM 日志文件内容”。
myisampack 压缩 MyISAM 表以生成更小的只读表的实用程序。详见第 4.6.5 节“myisampack — 生成压缩的只读 MyISAM 表”。
mysql_config_editor
使您能够将身份验证凭据存储在名为
.mylogin.cnf 的安全加密登录路径文件中的实用程序。详见第 4.6.6 节“mysql_config_editor — MySQL 配置实用程序”。
mysqlbinlog 用于从二进制日志中读取语句的实用程序。二进制日志文件中包含的执行语句日志可用于帮助从崩溃中恢复。详见第 4.6.7 节“mysqlbinlog — 处理二进制日志文件的实用程序”。
mysqldumpslow 用于读取和总结慢查询日志内容的实用程序。详见第 4.6.8 节“mysqldumpslow — 总结慢查询日志文件”。
MySQL 程序开发实用程序:
mysql_config 生成编译 MySQL 程序时所需选项值的 shell 脚本。详见第 4.7.1 节“mysql_config — 显示客户端编译选项”。
my_print_defaults 显示选项文件中选项组中存在的选项的实用程序。详见第 4.7.2 节“my_print_defaults — 显示选项文件中的选项”。
resolve_stack_dump 将数字堆栈跟踪转储解析为符号的实用程序。详见第 4.7.3 节“resolve_stack_dump — 将数字堆栈跟踪转储解析为符号”。
其他实用程序:
lz4_decompress
解压缩使用 LZ4 压缩的
mysqlpump 输出的实用程序。详见第 4.8.1 节“lz4_decompress — 解压缩 mysqlpump 的 LZ4 压缩输出”。
perror 显示系统或 MySQL 错误代码含义的实用程序。详见第 4.8.2 节“perror — 显示 MySQL 错误消息信息”。
replace 在输入文本中执行字符串替换的实用程序。详见第 4.8.3 节“replace — 字符串替换实用程序”。
resolveip 将主机名解析为 IP 地址或反之的实用程序。详见第 4.8.4 节“resolveip — 将主机名解析为 IP 地址或反之”。
zlib_decompress
解压缩使用 ZLIB 压缩的
mysqlpump 输出的实用程序。详见第 4.8.5 节“zlib_decompress — 解压缩 mysqlpump 的 ZLIB 压缩输出”。
Oracle 公司还提供了 MySQL Workbench GUI 工具,用于管理 MySQL 服务器和数据库、创建、执行和评估查询,以及从其他关系数据库管理系统迁移模式和数据以供 MySQL 使用。
使用 MySQL 客户端/服务器库与服务器通信的 MySQL 客户端程序使用以下环境变量:
| 环境变量 | 含义 |
|---|---|
| MYSQL_UNIX_PORT | 默认的 Unix 套接字文件;用于连接到 localhost |
| MYSQL_TCP_PORT | 默认的端口号;用于 TCP/IP 连接 |
| MYSQL_PWD | 默认密码 |
| MYSQL_DEBUG | 调试时的调试跟踪选项 |
| TMPDIR | 创建临时表和文件的目录 |
有关 MySQL 程序使用的环境变量的完整列表,请参阅第 4.9 节“环境变量”。
使用
MYSQL_PWD 是不安全的。详见第 6.1.2.1 节“最终用户密码安全指南”。
