mysqladmin 用于管理MySQL服务器的客户端
mysqladmin是用于执行管理操作的客户端。您可以使用它来检查服务器的配置和当前状态,创建和删除数据库等等。
像这样调用mysqladmin:
shell>mysqladmin [options] command [command-arg] [command [command-arg]] ...
mysqladmin支持以下命令。某些命令在命令名称后带有一个参数。
create db_name创建一个名为的新数据库
db_name。debug告诉服务器将调试信息写入错误日志。连接的用户必须具有
SUPER特权。此信息的格式和内容可能会更改。这包括有关事件计划程序的信息。请参见“事件调度程序状态”。
drop db_name删除命名数据库
db_name及其所有表。extended-status显示服务器状态变量及其值。
flush-hosts刷新主机缓存中的所有信息。请参见“ DNS查找优化和主机缓存”。
flush-logs[log_type...]刷新所有日志。
所述中mysqladmin冲洗日志命令允许给予任选的日志类型,指定哪个日志平齐。继
flush-logs命令,你可以提供一个或多个以下的日志类型的空格分隔的列表:binary,engine,error,general,relay,slow。这些对应于可以为FLUSH LOGSSQL语句指定的日志类型。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上,请确保使用双引号而不是单引号。单引号不会从密码中删除,而是被解释为密码的一部分。例如:shell>
mysqladmin password "my new password"该
password命令后可以省略新密码。在这种情况下,mysqladmin提示输入密码值,这使您避免在命令行上指定密码。仅当password是mysqladmin命令行上的最终命令时,才应忽略密码值。否则,将下一个参数用作密码。警告
如果使用该
--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。(请参见“ SHOW PROCESSLIST语句”。)reload重新加载授权表。
refresh刷新所有表,然后关闭并打开日志文件。
shutdown停止服务器。
start-slave在从属服务器上开始复制。
status显示简短的服务器状态消息。
stop-slave在从属服务器上停止复制。
variables显示服务器系统变量及其值。
version显示来自服务器的版本信息。
所有命令都可以缩短为任何唯一的前缀。例如:
shell>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时命令的结果显示以下值:
UptimeMySQL服务器已运行的秒数。
Threads活动线程(客户端)的数量。
Questions自服务器启动以来,来自客户端的问题(查询)数。
Slow queries耗时超过
long_query_time秒的查询数。请参见“MySQL服务器慢查询日志”。Opens服务器已打开的表数。
Flush tables数目
flush-*,refresh以及reload命令在服务器已经执行。Open tables当前打开的表数。
如果在使用Unix套接字文件连接到本地服务器时执行mysqladmin shutdown,则mysqladmin将等待直到服务器的进程ID文件被删除,以确保服务器已正确停止。
mysqladmin支持以下选项,可以在命令行或选项文件的[mysqladmin]和[client]组中指定这些选项。有关MySQL程序使用的选项文件的信息,请参见“使用选项文件”。
表4.12 mysqladmin选项
| 选项名称 | 描述 |
|---|---|
| --bind-address | 使用指定的网络接口连接到MySQL Server |
| --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 | 连接服务器时使用的密码 |
| --pipe | 使用命名管道连接到服务器(仅Windows) |
| --plugin-dir | 安装插件的目录 |
| --port | 用于连接的TCP / IP端口号 |
| --print-defaults | 打印默认选项 |
| --protocol | 使用的连接协议 |
| --relative | 与--sleep选项一起使用时,显示当前值与先前值之间的差异 |
| --server-public-key-path | 包含RSA公钥的文件的路径名 |
| --shared-memory-base-name | 用于共享内存连接的共享内存的名称 |
| --show-warnings | 语句执行后显示警告 |
| --shutdown_timeout | 等待服务器关闭的最大秒数 |
| --silent | 静音模式 |
| --sleep | 重复执行命令,在两次之间睡眠延迟几秒钟 |
| --socket | Unix套接字文件或Windows命名管道使用 |
| --ssl-c | 包含受信任的SSL证书颁发机构列表的文件 |
| --ssl-capath | 包含受信任的SSL证书颁发机构证书文件的目录 |
| --ssl-cert | 包含X.509证书的文件 |
| --ssl-cipher | 连接加密的允许密码 |
| --ssl-crl | 包含证书吊销列表的文件 |
| --ssl-crlpath | 包含证书吊销列表文件的目录 |
| --ssl-fips-mode | 是否在客户端启用FIPS模式 |
| --ssl-key | 包含X.509密钥的文件 |
| --ssl-mode | 与服务器连接的所需安全状态 |
| --tls-ciphersuites | 允许的TLSv1.3密码套件用于加密连接 |
| --tls-version | 允许的TLS协议进行加密连接 |
| --user | 连接服务器时要使用的MySQL用户名 |
| --verbose | 详细模式 |
| --version | 显示版本信息并退出 |
| --vertical | 垂直打印查询输出行(每列值一行) |
| --wait | 如果无法建立连接,请等待并重试,而不是中止 |
| --zstd-compression-level | 与使用zstd压缩的服务器的连接的压缩级别 |
--help,-?显示帮助消息并退出。
--bind-address=ip_address在具有多个网络接口的计算机上,使用此选项选择用于连接到MySQL服务器的接口。
--character-sets-dir=dir_name字符集的安装目录。请参见“字符集配置”。
--compress,-C如果可能,压缩客户端和服务器之间发送的所有信息。
从MySQL 8.0.18开始,不推荐使用此选项。它将在将来的MySQL版本中删除。请参阅旧版连接压缩配置。
--compression-algorithms=value用于连接到服务器的允许的压缩算法。可用算法与
protocol_compression_algorithms系统变量相同。默认值为uncompressed。该选项是在MySQL 8.0.18中添加的。
--count=N,-c N如果指定了
--sleep选项,则重复执行命令的迭代次数。--debug[=debug_options],-#[debug_options]编写调试日志。典型的
debug_options字符串是。默认值为。d:t:o,file_named:t:o,/tmp/mysqladmin.trace仅当MySQL是使用构建的时,此选项才可用
WITH_DEBUG。Oracle提供的MySQL版本二进制文件不是使用此选项构建的。--debug-check程序退出时,打印一些调试信息。
仅当MySQL是使用构建的时,此选项才可用
WITH_DEBUG。Oracle提供的MySQL版本二进制文件不是使用此选项构建的。--debug-info程序退出时,打印调试信息以及内存和CPU使用情况统计信息。
仅当MySQL是使用构建的时,此选项才可用
WITH_DEBUG。Oracle提供的MySQL版本二进制文件不是使用此选项构建的。--default-auth=plugin有关使用哪个客户端身份验证插件的提示。
--default-character-set=charset_name使用
charset_name作为默认字符集。请参见“字符集配置”。--defaults-extra-file=file_name在全局选项文件之后但在用户选项文件之前(在Unix上)读取此选项文件。如果该文件不存在或无法访问,则发生错误。
file_name如果给出为相对路径名而不是完整路径名,则相对于当前目录解释。有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--defaults-file=file_name仅使用给定的选项文件。如果该文件不存在或无法访问,则发生错误。
file_name如果给出为相对路径名而不是完整路径名,则相对于当前目录解释。例外:即使这样
--defaults-file,客户端程序也会读取.mylogin.cnf。有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--defaults-group-suffix=str不仅阅读常规选项组,而且阅读具有常规名称和后缀的组
str。例如,mysqladmin通常读取[client]和[mysqladmin]组。如果--defaults-group-suffix=_other给出了该选项,mysqladmin也会读取[client_other]和[mysqladmin_other]组。有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--enable-cleartext-plugin启用
mysql_clear_password明文身份验证插件。(请参见“客户端明文可插入身份验证”。)--force,-f不要要求对命令进行确认。使用多个命令,即使发生错误也要继续。
drop db_name--get-server-public-key从服务器请求基于RSA密钥对的密码交换所需的公共密钥。此选项适用于使用
caching_sha2_password身份验证插件进行身份验证的客户端。对于该插件,除非请求,否则服务器不会发送公钥。对于未使用该插件进行身份验证的帐户,将忽略此选项。如果未使用基于RSA的密码交换,也将被忽略,例如客户端使用安全连接连接到服务器时。如果给出并指定了有效的公共密钥文件,则优先于。
--server-public-key-path=file_name--get-server-public-key有关
caching_sha2_password插件的信息,请参见“缓存SHA-2可插拔身份验证”。--host=host_name,-h host_name连接到给定主机上的MySQL服务器。
--login-path=name从
.mylogin.cnf登录路径文件中的命名登录路径读取选项。阿“登录路径”是含有指定要连接到哪个MySQL服务器和选项哪个帐户作为认证选项组。要创建或修改登录路径文件,请使用mysql_config_editor实用程序。请参见“mysql_config_editor-MySQL配置实用程序”。有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--no-beep,-b抑制默认情况下由于诸如连接服务器失败之类的错误而发出的警告蜂鸣声。
--no-defaults不要读取任何选项文件。如果由于从选项文件中读取未知选项而导致程序启动失败,
--no-defaults则可以使用该选项来防止读取它们。唯一的例外是,
.mylogin.cnf在所有情况下都会读取该文件(如果存在)。这样,即使--no-defaults使用密码,也可以通过比命令行更安全的方式指定密码。(.mylogin.cnf由mysql_config_editor实用程序创建。请参见“mysql_config_editor-MySQL配置实用程序”。)有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--password[=password],-p[password]用于连接服务器的MySQL帐户的密码。密码值是可选的。如果未给出,则mysqladmin提示输入一个。如果给出,则或后面的密码之间必须没有空格。如果未指定密码选项,则默认为不发送密码。
--password=-p在命令行上指定密码应该被认为是不安全的。为避免在命令行上输入密码,请使用选项文件。请参见“最终用户密码安全准则”。
要明确指定没有密码并且mysqladmin不应提示输入密码,请使用该
--skip-password选项。--pipe,-W在Windows上,使用命名管道连接到服务器。仅当在
named_pipe启用了支持命名管道连接的系统变量的情况下启动服务器时,此选项才适用。另外,建立连接的用户必须是named_pipe_full_access_group系统变量指定的Windows组的成员。--plugin-dir=dir_name在其中查找插件的目录。如果该
--default-auth选项用于指定身份验证插件,但mysqladmin找不到,请指定此选项。--port=port_num,-P port_num对于TCP / IP连接,使用的端口号。
--print-defaults打印程序名称及其从选项文件中获取的所有选项。
有关此选项和其他选项文件选项的更多信息,请参见“影响选项文件处理的命令行选项”。
--protocol={TCP|SOCKET|PIPE|MEMORY}用于连接到服务器的连接协议。当其他连接参数通常导致使用您想要的协议以外的协议时,此功能很有用。有关允许值的详细信息,请参见“使用命令选项连接到MySQL服务器”。
--relative,-r与该
--sleep选项一起使用时,显示当前值与先前值之间的差异。此选项仅适用于extended-status命令。--server-public-key-path=file_name包含服务器用于基于RSA密钥对的密码交换所需的公用密钥的客户端副本的文件的路径名。该文件必须为PEM格式。此选项适用于使用
sha256_password或caching_sha2_password身份验证插件进行身份验证的客户端。对于未通过这些插件之一进行身份验证的帐户,将忽略此选项。如果未使用基于RSA的密码交换,也将被忽略,例如客户端使用安全连接连接到服务器时。如果给出并指定了有效的公共密钥文件,则优先于。
--server-public-key-path=file_name--get-server-public-key对于
sha256_password,此选项仅在使用OpenSSL构建MySQL时适用。有关
sha256_password和caching_sha2_password插件的信息,请参见“ SHA-256可插拔身份验证”和“缓存SHA-2可插拔身份验证”。--shared-memory-base-name=name在Windows上,共享内存名称,用于使用共享内存与本地服务器建立的连接。默认值为
MYSQL。共享内存名称区分大小写。仅当服务器在
shared_memory启用系统变量以支持共享内存连接的情况下启动时,此选项才适用。--show-warnings显示由于执行发送到服务器的语句而导致的警告。
--silent,-s如果无法建立与服务器的连接,请以静默方式退出。
--sleep=delay,-i delay重复执行命令,两次
delay之间休眠几秒钟。该--count选项确定迭代次数。如果--count没有给出,mysqladmin无限期地执行命令直到被中断。--socket=path,-S path对于与的连接
localhost,要使用的Unix套接字文件,或者在Windows上,要使用的命名管道的名称。在Windows上,仅当在
named_pipe启用了支持命名管道连接的系统变量的情况下启动服务器时,此选项才适用。另外,建立连接的用户必须是named_pipe_full_access_group系统变量指定的Windows组的成员。--ssl*以开头的选项
--ssl指定是否使用SSL连接到服务器,并指示在何处查找SSL密钥和证书。请参阅加密连接的命令选项。--ssl-fips-mode={OFF|ON|STRICT}控制是否在客户端上启用FIPS模式。该
--ssl-fips-mode选项与其他选项的不同之处在于,该选项不用于建立加密连接,而是影响允许的加密操作。请参见“ FIPS支持”。--ssl-xxx这些
--ssl-fips-mode值是允许的:OFF:禁用FIPS模式。ON:启用FIPS模式。STRICT:启用“严格” FIPS模式。
注意
如果OpenSSL的FIPS对象模块不可用时,对于唯一的允许值
--ssl-fips-mode是OFF。在这种情况下,设置--ssl-fips-mode为ON或STRICT导致客户端在启动时发出警告并以非FIPS模式运行。--tls-ciphersuites=ciphersuite_list使用TLSv1.3的加密连接的允许密码套件。该值是一个或多个以冒号分隔的密码套件名称的列表。可以为此选项命名的密码套件取决于用于编译MySQL的SSL库。有关详细信息,请参见“加密的连接TLS协议和密码”。
该选项是在MySQL 8.0.16中添加的。
--tls-version=protocol_list加密连接允许的TLS协议。该值是一个或多个逗号分隔的协议名称的列表。可以为此选项命名的协议取决于用于编译MySQL的SSL库。有关详细信息,请参见“加密的连接TLS协议和密码”。
--user=user_name,-u user_name用于连接到服务器的MySQL帐户的用户名。
--verbose,-v详细模式。打印有关程序功能的更多信息。
--version,-V显示版本信息并退出。
--vertical,-E垂直打印输出。这类似于
--relative,但是垂直打印输出。--wait[=count],-w[count]如果无法建立连接,请等待并重试,而不是中止。如果
count给出值,则表示重试的次数。默认值为一次。--zstd-compression-level=level用于与使用
zstd压缩算法的服务器的连接的压缩级别。允许的级别为1到22,更大的值表示压缩级别增加。默认zstd压缩级别为3。压缩级别设置对不使用zstd压缩的连接无效。该选项是在MySQL 8.0.18中添加的。
您也可以使用来设置以下变量。--var_name=value
connect_timeout连接超时之前的最大秒数。默认值为43200(12小时)。
shutdown_timeout等待服务器关闭的最大秒数。默认值为3600(1小时)。
