当前位置: 首页 > 工具软件 > SQL Admin > 使用案例 >

MySQL 数据库命令之 mysqladmin -- MySQL 服务器管理客户端

危裕
2023-12-01

一、介绍

mysqladmin 命令是 MySQL 服务器管理任务的客户端工具,它可以检查 MySQL 服务器的配置和当前工作状态,创建和删除数据库,创建用户和修改用户密码等操作。

二、语法格式

mysqladmin [参数] [管理命令]

三、命令参数

选项说明
-h , --hostMySQL服务器主机名 或 ip 地址
-u , --user连接 MySQL 服务器的用户名
-p , --password连接 MySQL 服务器的密码
-? , --help显示帮助信息
-c , --count numbernumber 是自动运行次数,设置自动运行次数,必须和 -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-caPEM格式的CA文件
–ssl-capathCA目录
–ssl-certPEM格式的X509证书
–ssl-cipher要使用的SSL密码
–ssl-keyPEM格式的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)
count0
forceFALSE
compressFALSE
character-sets-dir(No default value)
default-character-setauto
host(No default value)
no-beepFALSE
port3306
relativeFALSE
secure-authTRUE
socket/data/3306/mysql.sock
sleep0
sslTRUE
ssl-verify-server-certFALSE
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)
verboseFALSE
verticalFALSE
connect-timeout43200
shutdown-timeout3600
plugin-dir(No default value)
default-auth(No default value)
enable-cleartext-pluginFALSE
show-warningsFALSE

(二)默认参数

按顺序从以下文件中:

/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:暂停主从复制

五、参考示例

(一)每隔两秒查看一次服务器的状态,总共重复 5 次

mysqladmin -uroot -p -i 2 -c 5 status # 相当于 show status
mysqladmin -uroot -pdadong123 -i 1 status # 每隔一秒查看一次状态

(二)修改 root 密码

语法格式:

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

(七)每秒查看一次执行的SQL语句

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

(十四)刷新所有表缓存,并关闭和打开 log

mysqladmin -uroot -p refresh

(十五)删除数据库 test

mysqladmin -uroot -p drop test
 类似资料: