4.1 MySQL 程序概述

MySQL 安装中有许多不同的程序。本节简要介绍了它们。除 NDB Cluster 程序外,后面的各节将对每一个进行更详细的描述。每个程序的描述均指示其调用语法及其支持的选项。 第 21.4 节“ NDB 群集程序”,描述了特定于 NDB Cluster 的程序。

除特定于平台的程序外,大多数 MySQL 发行版都包含所有这些程序。 (例如,在 Windows 上不使用服务器启动脚本.)唯一的 exception 是 RPM 分发更加专业。服务器有一个 RPM,Client 机程序有一个 RPM,依此类推。如果您似乎缺少一个或多个程序,请参阅第 2 章,安装和升级 MySQL,以获取有关发行类型及其包含内容的信息。可能是您的发行版并不包含所有程序,并且您需要安装其他软件包。

每个 MySQL 程序都有许多不同的选项。大多数程序都提供--help选项,您可以使用该选项获得程序不同选项的描述。例如,尝试mysql --help

您可以通过在命令行或选项文件中指定选项来覆盖 MySQL 程序的默认选项值。有关调用程序和指定程序选项的一般信息,请参见第 4.2 节“使用 MySQL 程序”

MySQL 服务器mysqld是完成 MySQL 安装中大部分工作的主程序。服务器随附有几个相关的脚本,可帮助您启动和停止服务器:

SQL 守护程序(即 MySQL 服务器)。要使用 Client 端程序,mysqld必须正在运行,因为 Client 端可以通过连接到服务器来访问数据库。参见第 4.3.1 节“ mysqld-MySQL 服务器”

服务器启动脚本。 mysqld_safe尝试启动mysqld。参见第 4.3.2 节“ mysqld_safe-MySQL 服务器启动脚本”

服务器启动脚本。该脚本在使用 System V 样式运行目录的系统上使用,该目录包含启动特定运行级别的系统服务的脚本。它调用mysqld_safe来启动 MySQL 服务器。参见第 4.3.3 节“ mysql.server-MySQL 服务器启动脚本”

服务器启动脚本,可以启动或停止系统上安装的多个服务器。参见第 4.3.4 节“ mysqld_multi-Management 多个 MySQL 服务器”

有几个程序在 MySQL 安装或升级过程中执行设置操作:

在 MySQL 构建/安装过程中使用该程序。它从错误源文件中编译错误消息文件。参见第 4.4.1 节“ comp_err —编译 MySQL 错误消息文件”

该程序初始化 MySQL 数据目录,创建mysql数据库,并使用默认特权初始化其授权 table,并设置InnoDB system tablespace。首次在系统上安装 MySQL 时,通常只执行一次。参见第 4.4.2 节“ mysql_install_db-初始化 MySQL 数据目录”第 2.10 节“安装后的设置和测试”

该程序配置 MySQL 服务器插件。参见第 4.4.3 节“ mysql_plugin-配置 MySQL 服务器插件”

该程序使您可以提高 MySQL 安装的安全性。参见第 4.4.4 节“ mysql_secure_installation-提高 MySQL 安装安全性”

如果缺少这些文件,此程序将创建支持安全连接所需的 SSL 证书和密钥文件以及 RSA 密钥对文件。 mysql_ssl_rsa_setup创建的文件可用于使用 SSL 或 RSA 的安全连接。参见第 4.4.5 节“ mysql_ssl_rsa_setup-创建 SSL/RSA 文件”

此程序使用主机系统 zoneinfo 数据库(描述时区的文件集)的内容将时区 table 加载到mysql数据库中。参见第 4.4.6 节“ mysql_tzinfo_to_sql-加载时区 table”

在 MySQL 升级操作之后使用该程序。它使用在新版本的 MySQL 中所做的任何更改来更新授权 table,并检查 table 中的不兼容性并在必要时进行修复。参见第 4.4.7 节“ mysql_upgrade-检查和升级 MySQLtable”

连接到 MySQL 服务器的 MySQLClient 端程序:

用于以交互方式交互式 ImportingSQL 语句或从文件中以批处理模式执行它们的命令行工具。参见第 4.5.1 节“ mysql-MySQL 命令行 Client 端”

Client 端,它执行 Management 操作,例如创建或删除数据库,重新加载授权 table,将 table 刷新到磁盘以及重新打开日志文件。 mysqladmin还可以用于从服务器检索版本,过程和状态信息。参见第 4.5.2 节“ mysqladmin-MySQL 服务器 Management 程序”

一个 table 维护 Client 端,用于检查,修复,分析和优化 table。参见第 4.5.3 节“ mysqlcheck-table 维护程序”

Client 端,将 MySQL 数据库以 SQL,文本或 XML 格式转储到文件中。参见第 4.5.4 节“ mysqldump-数据库备份程序”

Client 端使用LOAD DATA将文本文件导入到各自的 table 中。参见第 4.5.5 节“ mysqlimport-一个数据导入程序”

Client 端将 MySQL 数据库作为 SQL 转储到文件中。参见第 4.5.6 节“ mysqlpump-数据库备份程序”

  • mysqlsh

MySQL Shell 是 MySQL Server 的高级 Client 端和代码编辑器。参见MySQL Shell 8.0(MySQL 8.0 的一部分)。除了提供的与mysql相似的 SQL 功能外,MySQL Shell 还提供 JavaScript 和 Python 的脚本功能,并包括与 MySQL 配合使用的 API。 X DevAPI 使您可以使用关系数据和文档数据,请参见第 19 章,使用 MySQL 作为文档存储。 AdminAPI 使您可以使用 InnoDB 集群,请参见第 20 章,InnoDB 集群

显示有关数据库,table,列和索引的信息的 Client 端。参见第 4.5.7 节“ mysqlshow-显示数据库,table 和列信息”

旨在模拟 MySQL 服务器的 Client 端负载并报告每个阶段的时间的 Client 端。就像多个 Client 端正在访问服务器一样。参见第 4.5.8 节“ mysqlslap-一个负载仿真 Client 端”

MySQLManagement 和 Util:

离线InnoDB离线文件校验和 Util。参见第 4.6.1 节“ innochecksum —脱机 InnoDB 文件校验和 Util”

该 Util 在MyISAMtable 中显示有关全文索引的信息。参见第 4.6.2 节“ myisam_ftdump-显示全文索引信息”

描述,检查,优化和修复MyISAMtable 的 Util。参见第 4.6.3 节“ myisamchk-MyISAMtable 维护 Util”

处理MyISAM日志文件内容的 Util。参见第 4.6.4 节“ myisamlog-显示 MyISAM 日志文件的内容”

压缩MyISAMtable 以生成较小的只读 table 的 Util。参见第 4.6.5 节“ myisampack —生成压缩的只读 MyISAMtable”

一个 Util,使您可以将身份验证凭据存储在名为.mylogin.cnf的安全,加密的登录路径文件中。参见第 4.6.6 节“ mysql_config_editor-MySQL 配置 Util”

从二进制日志读取语句的 Util。二进制日志文件中包含的已执行语句的日志可用于帮助从崩溃中恢复。参见第 4.6.7 节“ mysqlbinlog-处理二进制日志文件的 Util”

用于读取和汇总慢查询日志内容的 Util。参见第 4.6.8 节“ mysqldumpslow-汇总慢查询日志文件”

MySQL 程序开发 Util:

一个 shell 脚本,产生编译 MySQL 程序时所需的选项值。参见第 4.7.1 节“ mysql_config-编译 Client 端的显示选项”

一个 Util,用于显示选项文件的选项组中存在哪些选项。参见第 4.7.2 节“ my_print_defaults-显示选项文件中的选项”

将数字堆栈跟踪转储解析为符号的 Util。参见第 4.7.3 节“ resolve_stack_dump —将数字堆栈跟踪转储解析为符号”

Miscellaneous utilities:

该 Util 可解压缩使用 LZ4 压缩创建的mysqlpump输出。参见第 4.8.1 节“ lz4_decompress —解压缩 mysqlpump LZ4 压缩输出”

该 Util 显示系统或 MySQL 错误代码的含义。参见第 4.8.2 节“ perror-显示 MySQL 错误消息信息”

在 Importing 文本中执行字符串替换的 Util。参见第 4.8.3 节“替换-字符串替换 Util”

将主机名解析为 IP 地址或反之亦然的 Util。参见第 4.8.4 节“ resolveip —将主机名解析为 IP 地址,反之亦然”

该 Util 可解压缩使用 ZLIB 压缩创建的mysqlpump输出。参见第 4.8.5 节“ zlib_decompress —解压缩 mysqlpump ZLIB 压缩输出”

Oracle Corporation 还提供了MySQL Workbench GUI 工具,该工具用于 ManagementMySQL 服务器和数据库,创建,执行和评估查询,以及从其他关系数据库 Management 系统迁移模式和数据以用于 MySQL。其他 GUI 工具包括MySQL NotifierMySQL for Excel

使用 MySQLClient 端/服务器库与服务器通信的 MySQLClient 端程序使用以下环境变量。

Environment VariableMeaning
MYSQL_UNIX_PORT默认的 Unix 套接字文件;用于连接到localhost
MYSQL_TCP_PORT默认端口号;用于 TCP/IP 连接
MYSQL_PWD默认密码
MYSQL_DEBUG调试时调试跟踪选项
TMPDIR创建临时 table 和文件的目录

有关 MySQL 程序使用的环境变量的完整列 table,请参见第 4.9 节“环境变量”

使用MYSQL_PWD是不安全的。参见第 6.1.2.1 节,“最终用户密码安全准则”