mysqladmin 命令是 MySQL 服务器管理任务的客户端工具,它可以检查 MySQL 服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。
mysqladmin [参数] [管理命令]
选项 | 说明 |
---|---|
-h , --host | MySQL服务器主机名 或 ip 地址 |
-u , --user | 连接 MySQL 服务器的用户名 |
-p , --password | 连接 MySQL 服务器的密码 |
-? , --help | 显示帮助信息 |
-c , --count number | number 是自动运行次数,设置自动运行次数,必须和 -i 一起使用 |
-i , --sleep number | 间隔多长时间重复执行 |
-P , --port | 指定数据库端口,优先顺序,my.cnf,$mysql_tcp_port,/etc/services,内置默认值(3306) |
-s , --silent | 无法连接到服务器时自动退出 |
-v, --verbose | 写更多的信息 |
-V, --version | 显示版本 |
–bind-address | 绑定的IP |
–debug-check | 当程序退出时打印一些调试信息 |
–debug-info | 当程序退出时打印调试信息和内存和CPU使用统计信息 |
-f, --force | 不要求确认删除数据库;使用多个命令,即使发生错误也继续。 |
-C, --compress | 在服务器/客户端协议中使用压缩 |
–character-sets-dir | 字符集的文件目录 |
–default-character-set | 设置默认字符集 |
-b, --no-beep | 关闭错误提示音 |
–protocol | 用于连接的协议(TCP、套接字、管道、内存) |
-r, --relative | 与-i一起使用时,显示当前值和以前值之间的差异。当前仅适用于扩展状态 |
–secure-auth | 如果客户端使用旧的(4.1.1之前的)协议,则拒绝连接到服务器 |
-S, --socket | 指定用于连接的套接字文件 |
–ssl-mode | 指定 SSL 连接模式 |
–ssl-ca | PEM格式的CA文件 |
–ssl-capath | CA目录 |
–ssl-cert | PEM格式的X509证书 |
–ssl-cipher | 要使用的SSL密码 |
–ssl-key | PEM格式的X509密钥 |
–ssl-crl | 证书吊销列表 |
–ssl-crlpath | 证书吊销列表路径 |
–tls-version | 要使用的TLS版本,允许值为:tlsv1、tlsv1.1 |
-u, --user | 登录用户(如果不是当前用户) |
-v, --verbose | 写更多信息 |
-V, --version | 输出版本信息并退出 |
-E, --vertical | 垂直打印输出 |
-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 | 3306 |
relative | FALSE |
secure-auth | TRUE |
socket | /data/3306/mysql.sock |
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) |
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/
/data/3306/my.cnf
~/.my.cnf
读取以下参数的值:
--print-defaults # 打印程序参数列表并退出.
--no-defaults # 不要从任何选项文件读取默认选项,登录文件除外
--defaults-file=# # 仅从给定文件中读取默认选项
--defaults-extra-file=# # 读取全局文件后读取此文件
--defaults-group-suffix=# # 同时读取带有concat(group,suffix)的组
--login-path=# # 从登录文件读取此路径
create databasename:创建一个新数据库
drop databasename:删除一个数据库及其所有表
extended-status:给出服务器的一个扩展状态消息,从服务器发出扩展状态消息
flush-hosts:清空所有缓存的主机
flush-logs:清空所有日志
flush-tables:清空所有表
flush-privileges:再次装载授权表(同reload)
flush-status:清除状态变量
flush-threads:清空线程缓存
flush-privileges:重新加载授权表,刷新权限(与reload加载相同)
kill id,id,...:杀死mysql线程
password [new-password]:修改用户密码
ping:检查mysqld是否活着
processlist:显示服务器中活跃线程列表
reload:重新加载授权表
refresh:清空所有表并关闭和打开日志文件
shutdown:关掉服务器
status:给出服务器的简短状态消息,从服务器发出简短的状态消息
variables:打印出可用变量
version:得到服务器的版本信息
debug:指示服务器将调试信息写入日志
start-slave:启动主从复制
stop-slave:暂停主从复制
mysqladmin -uroot -p -i 2 -c 5 status # 相当于 show status
mysqladmin -uroot -pdadong123 -i 1 status # 每隔一秒查看一次状态
语法格式:
mysqladmin -u用户名 -p旧密码 password 新密码
给 root 加个密码 111111:
mysqladmin -uroot -p password '111111'
将 root 的密码改为 dadong:
mysqladmin -uroot -pdadong123 password 'dadong'
获得当前数据库的连接线程信息:
[root@htlwk0001host ~]# mysqladmin -uroot -p processlist # 查看执行的SQL语句信息
[root@htlwk0001host ~]# mysqladmin -uroot -p -i 1 processlist # 每秒刷新一次
mysqladmin -uroot -pdadong123 status
mysqladmin -uroot -pdadong123 extended-status # 等同show global status
mysqladmin -uroot -pdadong123 flush-logs
mysqladmin -uroot -pdadong123 processlist -i 1
mysqladmin -uroot -pdadong shutdown
mysqladmin -uroot -pdadong variables # 相当于show variables
[root@htlwk0001host ~]# mysqladmin -uroot -p ping
Enter password:
mysqld is alive
[root@htlwk0001host ~]# mysqladmin -uroot -p version
Enter password:
mysqladmin Ver 8.42 Distrib 5.7.31, for Linux on x86_64
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
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.31
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 1 hour 52 min 59 sec
Threads: 21 Questions: 784 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.115
[root@DB02 ~]# mysqladmin -uroot -pdadong123 create lili
Warning: Using a password on the command line interface can be insecure.
mysqladmin -uroot -p reload
mysqladmin -uroot -p refresh
mysqladmin -uroot -p drop test