mysqladmin 命令详解

本文将详细介绍 mysqladmin 命令,以及该命令的用法示例。

mysqladmin 命令是一个执行 mysqld 服务管理操作的客户端程序,它可以用来检查服务器的配置和当前状态、创建和删除数据库等等。

语法

mysqladmin [OPTIONS] command command....

选项

下面是 mysqladmin 命令的可用选项,如下:

  • --bind-address=name  要绑定到的 IP 地址。

  • -c, --count=#        要进行的迭代次数,这仅适用于 -i(--sleep)。

  • -#, --debug[=#]      这是一个非调试版本,捕获并退出。

  • --debug-check        这是一个非调试版本,捕获并退出。

  • --debug-info         这是一个非调试版本,捕获并退出。

  • -f, --force          在删除数据库时不要求确认;对于多个命令,即使发生错误也要继续。

  • -C, --compress       在服务器/客户端协议中使用压缩技术。

  • --character-sets-dir=name 字符集文件的目录。

  • --default-character-set=name  设置默认字符集。

  • -?, --help           显示此帮助并退出。

  • -h, --host=name      连接到主机。

  • -b, --no-beep        关掉出错时的提示音。

  • -p, --password[=name] 连接到服务器时使用的密码。如果没有给出密码,就会从tty上询问。

  • -P, --port=#         用于连接的端口号,或默认为 0,依次为 my.cnf、$MYSQL_TCP_PORT、/etc/services、内置默认(3306)。

  • --protocol=name      连接使用的协议(tcp、socket、pipe、memory)。

  • -r, --relative       当与 -i 一起使用时,显示当前值和之前值之间的差异。目前只适用于扩展状态。

  • --secure-auth        如果客户端使用旧的(4.1.1之前的)协议,则拒绝其连接到服务器,已弃用,总是为 TRUE。

  • -s, --silent         如果不能连接到服务器,则默默退出。

  • -S, --socket=name    用于连接的套接字文件。

  • -i, --sleep=#        反复执行命令,中间有一个休眠期。

  • --ssl-mode=name      SSL连接模式。

  • --ssl                已废弃。使用 --ssl-mode 代替 (默认为打开,使用 --skip-ssl 来禁用)

  • --ssl-verify-server-cert  已废弃。使用 --ssl-mode=VERIFY_IDENTITY 代替。

  • --ssl-ca=name        PEM 格式的 CA 文件。

  • --ssl-capath=name    CA 目录。

  • --ssl-cert=name      PEM 格式的 X509 证书。

  • --ssl-cipher=name    要使用的 SSL 密码。

  • --ssl-key=name       PEM 格式的 X509 密钥。

  • --ssl-crl=name       证书吊销列表。

  • --ssl-crlpath=name   证书撤销列表路径。

  • --tls-version=name   要使用的 TLS 版本,允许的值是:TLSv1, TLSv1.1, TLSv1.2

  • --server-public-key-path=name  PEM 格式的服务器公共 RSA 密钥的文件路径。

  • --get-server-public-key  获取服务器公钥

  • -u, --user=name      如果不是当前用户,用于登录的用户。

  • -v, --verbose        显示详细信息

  • -V, --version        输出版本信息并退出。

  • -E, --vertical       垂直打印输出。与 --relative 类似,但垂直打印输出。

  • -w, --wait[=#]       等待,如果连接中断则重试。

  • --connect-timeout=# 

  • --shutdown-timeout=# 

  • --plugin-dir=name   客户端插件的目录。

  • --default-auth=name 要使用的默认认证客户端插件。

  • --enable-cleartext-plugin  启用/停用明文认证插件。

  • --show-warnings     执行后显示警告

变量 (--变量名=变量值)

变量名                            值 (读取选项后)

--------------------------------- ----------------------------------------

bind-address                      (No default value)

count                             0

force                             FALSE

compress                          FALSE

character-sets-dir                (No default value)

default-character-set             auto

host                              (No default value)

no-beep                           FALSE

port                              0

relative                          FALSE

secure-auth                       TRUE

socket                            (No default value)

sleep                             0

ssl                               TRUE

ssl-verify-server-cert            FALSE

ssl-ca                            (No default value)

ssl-capath                        (No default value)

ssl-cert                          (No default value)

ssl-cipher                        (No default value)

ssl-key                           (No default value)

ssl-crl                           (No default value)

ssl-crlpath                       (No default value)

tls-version                       (No default value)

server-public-key-path            (No default value)

get-server-public-key             FALSE

user                              (No default value)

verbose                           FALSE

vertical                          FALSE

connect-timeout                   43200

shutdown-timeout                  3600

plugin-dir                        (No default value)

default-auth                      (No default value)

enable-cleartext-plugin           FALSE

show-warnings                     FALSE

默认选项按照给定的顺序从以下文件中读取:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /home/hxstrive/mysql5.7/my.cnf ~/.my.cnf 

读取以下组:mysqladmin client

可以给出以下选项作为第一个参数:

  • --print-defaults        打印程序参数列表并退出。

  • --no-defaults           不要从任何选项文件中读取默认选项,登录文件除外。

  • --defaults-file=#       仅从给定文件 # 中读取默认选项。

  • --defaults-extra-file=#  读取全局文件后读取此文件。

  • --defaults-group-suffix=# 还读取带有 concat(组、后缀)的组

  • --login-path=#          从登录文件中读取此路径。

子命令

mysqladmin 还支持以下的一些子命令,可以同时使用一项或多项子命令(命令可以缩写):

  • create databasename     创建新数据库

  • debug         指示服务器将调试信息写入日志

  • drop databasename     删除数据库及其所有表

  • extended-status         提供来自服务器的扩展状态消息

  • flush-hosts             刷新所有缓存的主机

  • flush-logs              刷新所有日志

  • flush-status     清除状态变量

  • flush-tables            刷新所有表

  • flush-threads           刷新线程缓存

  • flush-privileges        重新加载授权表(与重新加载相同)

  • kill id,id,...         杀死 mysql 线程

  • password [new-password] 将旧密码更改为当前格式的新密码

  • ping         检查 mysqld 是否处于活动状态

  • processlist         显示服务器中的活动线程列表

  • reload             重新加载授权表

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

  • shutdown         关闭服务器

  • status             提供来自服务器的简短状态消息

  • start-slave         启动 slave

  • stop-slave         停止 slave

  • variables               打印可用变量

  • version             从服务器获取版本信息

示例

(1)查看 mysqld 服务版本信息,命令如下:

[hxstrive@localhost ~]$ mysqladmin -h 127.0.0.1 -u root -p version
Enter password: 
mysqladmin  Ver 8.42 Distrib 5.7.40, for linux-glibc2.12 on x86_64
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		5.7.40
Protocol version	10
Connection		127.0.0.1 via TCP/IP
TCP port		3306
Uptime:			1 min 18 sec

Threads: 1  Questions: 2  Slow queries: 0  Opens: 108  Flush tables: 1  Open tables: 26  Queries per second avg: 0.025

(2)查看 mysqld 服务器状态信息,命令如下:

[hxstrive@localhost ~]$ mysqladmin -h 127.0.0.1 -u root -p status
Enter password: 
Uptime: 150  Threads: 1  Questions: 4  Slow queries: 0  Opens: 108  Flush tables: 1  Open tables: 26  Queries per second avg: 0.026

(3)显示服务器中的活动线程列表,命令如下:

[hxstrive@localhost ~]$ mysqladmin -h 127.0.0.1 -u root -p processlist
Enter password: 
+----+------+-----------------+----+---------+------+----------+------------------+
| Id | User | Host            | db | Command | Time | State    | Info             |
+----+------+-----------------+----+---------+------+----------+------------------+
| 7  | root | localhost:34626 |    | Query   | 0    | starting | show processlist |
+----+------+-----------------+----+---------+------+----------+------------------+
一个不注意小事情的人,永远不会成功大事业。——戴尔·卡耐基
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号