MySQL 安装中包含许多不同的程序。本节简要概述了这些程序。后几节将更详细地描述每个程序,但 NDB 集群程序除外。每个程序的描述都指出了它的调用语法以及它支持的选项。第 25.5 节,“NDB 集群程序” 描述了特定于 NDB 集群的程序。
大多数 MySQL 发行版都包含所有这些程序,但平台特定程序除外。(例如,服务器启动脚本在 Windows 上未使用。) 唯一的例外是 RPM 发行版更加专业化。服务器有一个 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 服务器”.
几个程序在 MySQL 安装或升级过程中执行设置操作
此程序在 MySQL 构建/安装过程中使用。它从错误源文件中编译错误消息文件。请参阅 第 6.4.1 节,“comp_err — 编译 MySQL 错误消息文件”.
此程序使你能够提高 MySQL 安装的安全性。请参阅 第 6.4.2 节,“mysql_secure_installation — 提高 MySQL 安装安全性”.
此程序使用主机系统 zoneinfo 数据库 (描述时区的文件集) 的内容,在
mysql
数据库中加载时区表。请参阅 第 6.4.3 节,“mysql_tzinfo_to_sql — 加载时区表”.
连接到 MySQL 服务器的 MySQL 客户端程序
用于以交互方式输入 SQL 语句或以批处理模式从文件执行 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 Shell 是 MySQL Server 的高级客户端和代码编辑器。参见 MySQL Shell 8.4.0。除了提供的类似于 mysql 的 SQL 功能之外,MySQL Shell 还提供 JavaScript 和 Python 的脚本功能,并包含用于与 MySQL 交互的 API。X DevAPI 使您能够同时使用关系数据和文档数据,参见 第 22 章,使用 MySQL 作为文档存储。AdminAPI 使您能够使用 InnoDB Cluster,参见 MySQL AdminAPI。
一个显示有关数据库、表、列和索引信息的客户端。参见 第 6.5.6 节,“mysqlshow - 显示数据库、表和列信息”。
一个旨在模拟 MySQL 服务器的客户端负载并报告每个阶段的计时信息的客户端。它的工作方式类似于多个客户端访问服务器。参见 第 6.5.7 节,“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 - 显示选项文件中的选项”。
杂项实用程序
一个显示系统或 MySQL 错误代码含义的实用程序。参见 第 6.8.1 节,“perror - 显示 MySQL 错误信息”。
Oracle 公司还提供 MySQL Workbench GUI 工具,该工具用于管理 MySQL 服务器和数据库,创建、执行和评估查询,以及将架构和数据从其他关系数据库管理系统迁移到 MySQL。
使用 MySQL 客户端/服务器库与服务器通信的 MySQL 客户端程序使用以下环境变量。
环境变量 | 含义 |
---|---|
MYSQL_UNIX_PORT |
默认的 Unix 套接字文件;用于连接到 localhost |
MYSQL_TCP_PORT |
默认的端口号;用于 TCP/IP 连接 |
MYSQL_DEBUG |
调试时调试跟踪选项 |
TMPDIR |
创建临时表和文件的目录 |
有关 MySQL 程序使用的完整环境变量列表,参见 第 6.9 节,“环境变量”。