Documentation Home
MySQL 8.0 参考手册  / 第 4 章 MySQL 程序  / 4.5 客户端程序  /  4.5.2 mysqladmin——一个 MySQL 服务器管理程序

4.5.2 mysqladmin——一个 MySQL 服务器管理程序

mysqladmin是执行管理操作的客户端。您可以使用它来检查服务器的配置和当前状态、创建和删除数据库等等。

像这样调用mysqladmin

mysqladmin [options] command [command-arg] [command [command-arg]] ...

mysqladmin支持以下命令。一些命令在命令名称后带有一个参数。

  • create db_name

    创建一个名为 db_name.

  • debug

    在 MySQL 8.0.20 之前,告诉服务器将调试信息写入错误日志。连接的用户必须具有SUPER权限。此信息的格式和内容可能会发生变化。

    这包括有关事件调度​​程序的信息。请参阅 第 25.4.5 节,“事件调度程序状态”

  • drop db_name

    删除名为的数据库db_name 及其所有表。

  • extended-status

    显示服务器状态变量及其值。

  • flush-hosts

    刷新主机缓存中的所有信息。请参阅 第 5.1.12.3 节,“DNS 查找和主机缓存”

  • flush-logs [log_type ...]

    刷新所有日志。

    mysqladmin flush-logs命令允许提供可选 的日志类型,以指定要刷新的日志。在命令之后, flush-logs您可以提供以下一种或多种日志类型的空格分隔 列表:binary、、、、、、、 。这些对应于可以为SQL 语句指定的日志类型。 engineerrorgeneralrelayslowFLUSH LOGS

  • flush-privileges

    重新加载授权表(与 相同reload)。

  • flush-status

    清除状态变量。

  • flush-tables

    刷新所有表。

  • flush-threads

    刷新线程缓存。

  • kill id,id,...

    杀死服务器线程。如果给出了多个线程 ID 值,则列表中不能有空格。

    要终止属于其他用户的线程,连接的用户必须具有 CONNECTION_ADMIN特权(或已弃用的SUPER 特权)。

  • password new_password

    设置新密码。这会将密码更改 new_password为您使用mysqladmin连接到服务器的帐户。因此,下次您 使用同一帐户 调用mysqladmin (或任何其他客户端程序)时,您必须指定新密码。

    警告

    使用mysqladmin 设置密码 应该被认为是不安全的。在某些系统上,您的密码对系统状态程序(例如ps )可见,其他用户可能会调用这些程序来显示命令行。MySQL 客户端通常在初始化序列期间用零覆盖命令行密码参数。但是,仍然有一个短暂的时间间隔,在此期间该值是可见的。此外,在某些系统上,这种覆盖策略是无效的,密码仍然对ps可见. (SystemV Unix 系统和其他系统可能会遇到这个问题。)

    如果该new_password值包含空格或您的命令解释器特有的其他字符,您需要将其括在引号内。在 Windows 上,一定要使用双引号而不是单引号;单引号不会从密码中删除,而是被解释为密码的一部分。例如:

    mysqladmin password "my new password"

    命令后可以省略新密码 password。在这种情况下, mysqladmin会提示输入密码值,这使您能够避免在命令行上指定密码。仅当mysqladmin命令行password上的最后一个命令时才应省略密码值。否则,将下一个参数作为密码。

    警告

    --skip-grant-tables如果服务器是使用该选项 启动的,请不要使用此命令 。不应用密码更改。即使您在同一命令行上的命令之前password重新 flush-privileges启用授权表也是如此,因为刷新操作发生在您连接之后。但是,您可以使用 mysqladmin flush-privileges重新启用授权表,然后使用单独的 mysqladmin password命令更改密码。

  • ping

    检查服务器是否可用。如果服务器正在运行,则mysqladmin的返回状态为 0,否则为 1。即使出现诸如 之类的错误,这也是 0 Access denied,因为这意味着服务器正在运行但拒绝连接,这与服务器未运行不同。

  • processlist

    显示活动服务器线程的列表。这就像SHOW PROCESSLIST语句的输出。如果 --verbose给出该选项,则输出类似于 SHOW FULL PROCESSLIST. (请参阅 第 13.7.7.29 节,“SHOW PROCESSLIST 语句”。)

  • reload

    重新加载授权表。

  • refresh

    刷新所有表并关闭和打开日志文件。

  • shutdown

    停止服务器。

  • start-replica

    在副本服务器上开始复制。从 MySQL 8.0.26 使用此命令。

  • start-slave

    在副本服务器上开始复制。在 MySQL 8.0.26 之前使用此命令。

  • status

    显示简短的服务器状态消息。

  • stop-replica

    停止副本服务器上的复制。从 MySQL 8.0.26 使用此命令。

  • stop-slave

    停止副本服务器上的复制。在 MySQL 8.0.26 之前使用此命令。

  • variables

    显示服务器系统变量及其值。

  • version

    显示来自服务器的版本信息。

所有命令都可以缩短为任何唯一的前缀。例如:

$> mysqladmin proc stat
+----+-------+-----------+----+---------+------+-------+------------------+
| Id | User  | Host      | db | Command | Time | State | Info             |
+----+-------+-----------+----+---------+------+-------+------------------+
| 51 | jones | localhost |    | Query   | 0    |       | show processlist |
+----+-------+-----------+----+---------+------+-------+------------------+
Uptime: 1473624  Threads: 1  Questions: 39487
Slow queries: 0  Opens: 541  Flush tables: 1
Open tables: 19  Queries per second avg: 0.0268

mysqladmin status命令结果显示以下值 :

  • Uptime

    MySQL 服务器已运行的秒数。

  • Threads

    活动线程(客户端)的数量。

  • Questions

    自服务器启动以来来自客户端的问题(查询)数。

  • Slow queries

    花费超过 long_query_time秒数的查询数。请参阅第 5.4.5 节,“慢速查询日志”

  • Opens

    服务器已打开的表数。

  • Flush tables

    flush-*服务器已执行的、 refreshreload 命令的 数量。

  • Open tables

    当前打开的表数。

如果在使用 Unix 套接字文件连接到本地服务器时 执行mysqladmin shutdown , mysqladmin会等待服务器的进程 ID 文件被删除,以确保服务器已正确停止。

mysqladmin支持以下选项,可以在命令行或 选项文件的组中指定[mysqladmin][client]有关 MySQL 程序使用的选项文件的信息,请参阅第 4.2.2.2 节,“使用选项文件”

表 4.12 mysqladmin 选项

选项名称 描述 介绍 弃用
--绑定地址 使用指定的网络接口连接到 MySQL 服务器
- 压缩 压缩客户端和服务器之间发送的所有信息 8.0.18
--压缩算法 允许的服务器连接压缩算法 8.0.18
--连接超时 连接超时前的秒数
- 数数 重复命令执行的迭代次数
--调试 写调试日志
--调试检查 程序退出时打印调试信息
- 调试信息 程序退出时打印调试信息、内存和 CPU 统计信息
--default-auth 要使用的身份验证插件
--默认字符集 指定默认字符集
--defaults-extra-file 除了通常的选项文件外,还读取命名的选项文件
--defaults-文件 只读命名选项文件
--defaults-group-suffix 选项组后缀值
--启用明文插件 启用明文身份验证插件
- 力量 即使出现 SQL 错误也继续
--get-server-public-key 从服务器请求 RSA 公钥
- 帮助 显示帮助信息并退出
- 主持人 MySQL 服务器所在的主机
--登录路径 从 .mylogin.cnf 读取登录路径选项
--无哔声 发生错误时不发出蜂鸣声
--no-defaults 不读取选项文件
- 密码 连接到服务器时使用的密码
--密码1 连接到服务器时使用的第一个多因素身份验证密码 8.0.27
--密码2 连接到服务器时使用的第二个多因素身份验证密码 8.0.27
--密码3 连接到服务器时使用的第三个多重身份验证密码 8.0.27
- 管道 使用命名管道连接到服务器(仅限 Windows)
--插件目录 安装插件的目录
- 港口 用于连接的 TCP/IP 端口号
--print-defaults 打印默认选项
- 协议 使用的传输协议
- 相对的 与 --sleep 选项一起使用时显示当前值和先前值之间的差异
--server-public-key-path 包含 RSA 公钥的文件的路径名
--shared-memory-base-name 共享内存连接的共享内存名称(仅限 Windows)
--显示警告 语句执行后显示警告
--关机超时 等待服务器关闭的最大秒数
- 沉默的 静音模式
- 睡觉 重复执行命令,中间休眠 delay 秒
- 插座 要使用的 Unix 套接字文件或 Windows 命名管道
--ssl-ca 包含可信 SSL 证书颁发机构列表的文件
--ssl-capath 包含受信任的 SSL 证书颁发机构证书文件的目录
--ssl证书 包含 X.509 证书的文件
--ssl密码 连接加密的允许密码
--ssl-crl 包含证书吊销列表的文件
--ssl-crlpath 包含证书吊销列表文件的目录
--ssl-fips-模式 客户端是否开启FIPS模式
--ssl-密钥 包含 X.509 密钥的文件
--ssl模式 连接到服务器的所需安全状态
--ssl 会话数据 包含 SSL 会话数据的文件 8.0.29
--ssl-session-data-continue-on-failed-reuse session重用失败是否建立连接 8.0.29
--tls-密码套件 用于加密连接的允许的 TLSv1.3 密码套件 8.0.16
--tls-版本 加密连接允许的 TLS 协议
- 用户 连接到服务器时使用的 MySQL 用户名
--冗长 详细模式
- 版本 显示版本信息并退出
- 垂直的 垂直打印查询输出行(每列值一行)
- 等待 如果无法建立连接,请等待并重试而不是中止
--zstd-压缩级别 使用 zstd 压缩的服务器连接的压缩级别 8.0.18