Mysqladmin - MySQL服务器管理程序
mysqladmin是一个用于执行管理操作的客户端。您可以使用它来检查服务器的配置和当前状态,创建和删除数据库等。
调用mysqladmin的方式如下: mysqladmin 选项 命令 [命令-arg] [命令 [命令-arg]] …
mysqladmin支持以下命令。一些命令在命令名称后接受一个参数。
create db_name
创建一个名为db_name的新数据库。
debug
在MySQL 8.0.20之前,告诉服务器将调试信息写入错误日志。连接的用户必须具有SUPER特权。格式和内容可能会发生变化。
drop db_name
删除名为db_name的数据库及其所有表。
extended-status
显示服务器状态变量及其值。
flush-hosts
刷新主机缓存。
flush-logs [log_type …]
刷新所有日志。
mysqladmin flush-logs命令允许指定可选的日志类型,以指定要刷新的日志。在flush-logs命令之后,您可以提供一个空格分隔的列表,包含一个或多个以下日志类型之一:binary,engine,error,general,relay,slow。这些对应于可以用于FLUSH LOGS SQL语句的日志类型。
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命令行上的最后一个命令上进行。否则,下一个参数将被用作密码。
注意
不要在启动服务器时使用–skip-grant-tables选项。不会应用密码更改。即使您在相同的命令行上先使用password命令,然后再使用flush-privileges命令重新启用授权表,因为刷新操作发生在您连接之后,所以也不会应用密码更改。但是,您可以使用mysqladmin flush-privileges命令重新启用授权表,然后使用单独的mysqladmin password命令更改密码。
ping
检查服务器是否可用。mysqladmin的返回状态为0表示服务器正在运行,1表示服务器未运行。即使出现错误,如Access denied,这也意味着服务器正在运行,但拒绝连接,这与服务器未运行不同。
processlist
显示活动服务器线程的列表。这与SHOW PROCESSLIST语句的输出类似。如果使用–verbose选项,输出类似于SHOW FULL PROCESSLIST。
reload
重新加载授权表。
refresh
刷新所有表并关闭并打开日志文件。
shutdown
停止服务器。
start-replica
在副本服务器上启动复制。
start-slave
在副本服务器上启动复制。
status
显示简短的服务器状态消息。
stop-replica
在副本服务器上停止复制。
stop-slave
在副本服务器上停止复制。
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秒的查询数量。
Opens
服务器打开的表的数量。
Flush tables
服务器已执行的flush-*、refresh和reload命令的数量。
Open tables
当前打开的表的数量。
如果您在连接到本地服务器时使用Unix套接字文件执行mysqladmin shutdown,mysqladmin将等待直到服务器的进程ID文件已被删除,以确保服务器已正确停止。
mysqladmin支持以下选项,可以在命令行或选项文件的[mysqladmin]和[client]组中指定。
选项名称 | 描述 |
---|---|
–bind-address | 使用指定的网络接口连接到MySQL服务器 |
–character-sets-dir | 可以查找字符集的目录 |
–compress | 在客户端和服务器之间压缩所有发送的信息 |
–compression-algorithms | 允许与服务器连接的压缩算法 |
–connect-timeout | 连接超时之前的秒数 |
–count | 重复命令执行的次数 |
–debug | 写入调试日志 |
–debug-check | 程序退出时打印调试信息 |
–debug-info | 程序退出时打印调试信息、内存和CPU统计信息 |
–default-auth | 要使用的认证插件 |
–default-character-set | 指定默认字符集 |
–defaults-extra-file | 除了通常的选项文件外,读取命名选项文件 |
–defaults-file | 只读取命名选项文件 |
–defaults-group-suffix | 选项组后缀值 |
–enable-cleartext-plugin | 启用明文认证插件 |
–force | 即使发生SQL错误也继续 |
–get-server-public-key | 从服务器请求RSA公钥 |
–help | 显示帮助消息并退出 |
–host | MySQL服务器所在的主机 |
–login-path | 从.mylogin.cnf读取登录路径选项 |
–no-beep | 发生错误时不发出蜂鸣声 |
–no-defaults | 不读取任何选项文件 |
–password | 连接到服务器时使用的密码 |
–password1 | 连接到服务器时使用的第一种多因素认证密码 |
–password2 | 连接到服务器时使用的第二种多因素认证密码 |
–password3 | 连接到服务器时使用的第三种多因素认证密码 |
–pipe | 使用命名管道(仅限Windows)连接到服务器 |
–plugin-dir | 安装插件的目录 |
–port | 用于连接的TCP/IP端口号 |
–print-defaults | 打印默认选项 |
–protocol | 要使用的传输协议 |
–relative | 在使用–sleep选项时,显示当前值与前一个值之间的差异 |
–server-public-key-path | 包含RSA公钥的文件路径名 |
–shared-memory-base-name | 共享内存连接的共享内存名称(仅限Windows) |
–show-warnings | 在语句执行后显示警告 |
–shutdown-timeout | 等待服务器关闭的最大秒数 |
–silent | 静默模式 |
–sleep | 在延迟秒数之间重复执行命令 |
–socket | 要使用的Unix套接字文件或Windows命名管道 |
–ssl-ca | 包含受信任的SSL证书颁发机构列表的文件 |
–ssl-capath | 包含受信任的SSL证书颁发机构证书文件的目录 |
–ssl-cert | 包含X.509证书的文件 |
–ssl-cipher | 允许用于连接加密的密码 |
–ssl-crl | 包含证书撤销列表的文件 |
–ssl-crlpath | 包含证书撤销列表文件的目录 |
–ssl-fips-mode | 是否在客户端启用FIPS模式 |
–ssl-key | 包含X.509密钥的文件 |
–ssl-mode | 连接到服务器所需的安全状态 |
–ssl-session-data | 包含SSL会话数据的文件 |
–ssl-session-data-continue-on-failed-reuse | 如果会话重用失败,是否建立连接 |
–tls-ciphersuites | 允许用于加密连接的TLSv1.3密码套件 |
–tls-version | 允许用于加密连接的TLS协议 |
–user | 连接到服务器时使用的MySQL用户名 |
–verbose | 详细模式 |
–version | 显示版本信息并退出 |
–vertical | 垂直打印查询输出行(每列值一行) |
–wait | 如果无法建立连接,等待并重试而不是中止 |
–zstd-compression-level | 对使用zstd压缩的服务器连接进行压缩的级别 |