在 MySQL 安装中有许多不同的程序。本节提供了它们的简要概述。后续部分将对每个程序进行更详细的描述,除了 NDB 集群程序。第 25.5 节,“NDB 集群程序”,描述了 NDB 集群特定的程序。每个程序的描述都包括其调用语法和支持的选项。
大多数 MySQL 发行版都包含所有这些程序,除了平台特定的程序。(例如,服务器启动脚本不用于 Windows。)RPM 发行版是专门的。有一个 RPM 用于服务器,另一个用于客户端程序,以此类推。如果您似乎缺少一个或多个程序,请参阅 第 2 章,安装 MySQL,了解发行版类型和内容。可能是您拥有一个不包含所有程序的发行版,您需要安装额外的包。
每个 MySQL 程序都有许多不同的选项。大多数程序都提供了一个 --help
选项,您可以使用它来获取程序的不同选项的描述。例如,尝试 mysql --help。
您可以通过在命令行或选项文件中指定选项来覆盖 MySQL 程序的默认选项值。请参阅 第 6.2 节,“使用 MySQL 程序”,了解一般信息关于调用程序和指定程序选项。
MySQL 服务器,mysqld,是 MySQL 安装中执行大部分工作的主要程序。服务器伴随着几个相关脚本,以帮助您启动和停止服务器:
-
SQL 守护进程(即 MySQL 服务器)。要使用客户端程序,mysqld 必须正在运行,因为客户端通过连接到服务器来访问数据库。请参阅 第 6.3.1 节,“mysqld — MySQL 服务器”。
-
服务器启动脚本。mysqld_safe 尝试启动 mysqld。请参阅 第 6.3.2 节,“mysqld_safe — MySQL 服务器启动脚本”。
-
服务器启动脚本。这是在使用 System V 风格的运行目录中包含启动系统服务的脚本的系统上使用的。它调用 mysqld_safe 来启动 MySQL 服务器。请参阅 第 6.3.3 节,“mysql.server — MySQL 服务器启动脚本”。
-
服务器启动脚本,可以启动或停止系统上的多个服务器。请参阅 第 6.3.4 节,“mysqld_multi — 管理多个 MySQL 服务器”。
几个程序执行设置操作 durante MySQL 安装或升级:
-
该程序在 MySQL 构建/安装过程中使用。它从错误源文件编译错误消息文件。请参阅 第 6.4.1 节,“comp_err — 编译 MySQL 错误消息文件”。
-
该程序使您可以提高 MySQL 安装的安全性。请参阅 第 6.4.2 节,“mysql_secure_installation — 提高 MySQL 安装安全性”。
-
Note
mysql_ssl_rsa_setup 已弃用。
该程序创建了 SSL 证书和密钥文件,以及 RSA 密钥对文件,以支持安全连接,如果这些文件不存在。由 mysql_ssl_rsa_setup 创建的文件可以用于使用 SSL 或 RSA 的安全连接。请参阅 第 6.4.3 节,“mysql_ssl_rsa_setup — 创建 SSL/RSA 文件”。
-
该程序使用主机系统的 zoneinfo 数据库(描述时间区的文件集)加载 MySQL 数据库中的时间区表。请参阅 第 6.4.4 节,“mysql_tzinfo_to_sql — 加载时间区表”。
-
MySQL 服务器现在执行以前由 mysql_upgrade 处理的升级任务(详见 第 3.4 节,“MySQL 升级过程升级的内容”)。
连接到 MySQL 服务器的客户端程序:
-
交互式输入 SQL 语句或从文件批量执行的命令行工具。请参阅 第 6.5.1 节,“mysql — MySQL 命令行客户端”。
-
一个执行管理操作的客户端,例如创建或删除数据库,重新加载授权表,刷新表到磁盘,并重新打开日志文件。mysqladmin 也可以用于从服务器检索版本、进程和状态信息。请参阅 第 6.5.2 节,“mysqladmin — MySQL 服务器管理程序”。
-
一个表维护客户端,用于检查、修复、分析和优化表。请参阅 第 6.5.3 节,“mysqlcheck — 表维护程序”。
-
一个将 MySQL 数据库转储到文件中的客户端,以 SQL、文本或 XML 格式。请参阅 第 6.5.4 节,“mysqldump — 数据库备份程序”。
-
一个客户端,使用
LOAD DATA
将文本文件导入到相应的表中。见 第 6.5.5 节,“mysqlimport — 数据导入程序”。 -
一个客户端,用于将 MySQL 数据库转储到文件中作为 SQL。见 第 6.5.6 节,“mysqlpump — 数据库备份程序”。
-
MySQL Shell 是一个高级客户端和代码编辑器,用于 MySQL 服务器。见 MySQL Shell 8.2。除了提供的 SQL 功能外,类似于 mysql,MySQL Shell 还提供了 JavaScript 和 Python 的脚本功能,并包括了与 MySQL 的 API。X DevAPI 允许您使用关系型和文档型数据,见 第 22 章,使用 MySQL 作为文档存储。AdminAPI 允许您使用 InnoDB 集群,见 MySQL AdminAPI。
-
一个客户端,用于显示数据库、表、列和索引的信息。见 第 6.5.7 节,“mysqlshow — 显示数据库、表、列和索引信息”。
-
一个客户端,旨在模拟客户端负载并报告每个阶段的时间。它就像多个客户端访问服务器一样。见 第 6.5.8 节,“mysqlslap — 客户端负载仿真客户端”。
MySQL 管理和实用程序:
-
一个离线
InnoDB
文件校验和工具。见 第 6.6.2 节,“innochecksum — 离线 InnoDB 文件校验和工具”。 -
一个实用程序,用于显示
MyISAM
表中的全文索引信息。见 第 6.6.3 节,“myisam_ftdump — 显示全文索引信息”。 -
一个实用程序,用于描述、检查、优化和修复
MyISAM
表。见 第 6.6.4 节,“myisamchk — MyISAM 表维护工具”。 -
一个实用程序,用于处理
MyISAM
日志文件的内容。见 第 6.6.5 节,“myisamlog — 显示 MyISAM 日志文件内容”。 -
一个实用程序,用于压缩
MyISAM
表以生成较小的只读表。见 第 6.6.6 节,“myisampack — 生成压缩的、只读的 MyISAM 表”。 -
一个实用程序,用于在安全的加密登录路径文件
.mylogin.cnf
中存储身份验证凭据。见 第 6.6.7 节,“mysql_config_editor — MySQL 配置实用程序”。 -
一个实用程序,用于在一个密钥环组件和另一个之间迁移密钥。见 第 6.6.8 节,“mysql_migrate_keyring — 密钥环密钥迁移实用程序”。
-
一个实用程序,用于从二进制日志文件中读取语句。二进制日志文件中的执行语句日志可以用于帮助从崩溃中恢复。见 第 6.6.9 节,“mysqlbinlog — 二进制日志文件处理实用程序”。
-
一个实用程序,用于读取和摘要慢查询日志文件的内容。见 第 6.6.10 节,“mysqldumpslow — 慢查询日志文件摘要”。
MySQL 程序开发实用程序:
-
一个 shell 脚本,生成编译 MySQL 程序所需的选项值。见 第 6.7.1 节,“mysql_config — 显示编译客户端选项”。
-
一个实用程序,显示选项文件中的选项组。见 第 6.7.2 节,“my_print_defaults — 显示选项文件选项”。
杂项实用程序:
-
一个实用程序,用于解压缩使用 LZ4 压缩创建的 mysqlpump 输出。见 第 6.8.1 节,“lz4_decompress — 解压缩 mysqlpump LZ4 压缩输出”。
-
一个实用程序,用于显示系统或 MySQL 错误代码的含义。见 第 6.8.2 节,“perror — 显示 MySQL 错误信息”。
-
一个实用程序,用于解压缩使用 ZLIB 压缩创建的 mysqlpump 输出。见 第 6.8.3 节,“zlib_decompress — 解压缩 mysqlpump ZLIB 压缩输出”。
Oracle Corporation 还提供了 MySQL Workbench 图形化工具,用于管理 MySQL 服务器和数据库,创建、执行和评估查询,并从其他关系数据库管理系统迁移到 MySQL。
MySQL 客户端程序使用以下环境变量与服务器通信。
Environment Variable | Meaning |
---|---|
MYSQL_UNIX_PORT |
默认的 Unix 套接字文件;用于连接到 localhost |
MYSQL_TCP_PORT |
默认的端口号;用于 TCP/IP 连接 |
MYSQL_DEBUG |
调试跟踪选项时调试 |
TMPDIR |
临时表和文件创建的目录 |
有关 MySQL 程序使用的环境变量的完整列表,请参阅 第 6.9 节,“环境变量”。