mysqladmin是经常使用的命令,一般用在需要从mysql执行一次命令获取想要的信息,常见于脚本中使用
# 使用格式:mysqladmin [options] command [arg] [,command [arg]] …
# 常用的command包括:
create DB_Name:# 创建数据库
drop DB_Name:# 删除数据库
debug:# 打开调试日志并记录于error log中
status:# 显示简要状态信息
–sleep#:设置间隔时长
–count#:设置显示的批次
extended-status:# 显示扩展信息,输出mysqld的各状态变量及赋值,相当于执行“mysql> show global status”
variables:# 输出mysqld的各服务器变量
flush-hosts:# 清空主机相关的缓存:DNS解析缓存;此前因为连接错误次数过多而被拒绝访问mysqld的主机列表
flush-logs:# 日志滚动,只能滚动二进制日志和中继日志
refresh:# 相当于同时使用flush-hosts和flush-logs
flush-privileges:# 通知mysqld重读授权表
reload:# 功能同“flush-privileges”
flush-status:# 重置状态变量的值
flush-tables:# 关闭当前打开的表文件句柄
flush-threads:# 清空线程缓存
kill:# 杀死指定的线程,需指定线程ID;可以一次杀死多个线程,以逗号分隔,但不能有多余空格
password:# 修改当前用户的密码
ping:# 模拟ping操作,检测mysqld是否在线
processlist:# 显示mysqld线程列表
shutdown:# 关闭mysqld进程
start-slave,stop-slave:# 启动/关闭从服务器线程
mysqladmin 工具的使用格式:
mysqladmin [option] command [command option] command ……
option 选项:
-c number 自动运行次数统计,必须和 -i 一起使用
-i number 间隔多长时间重复执行
每个两秒查看一次服务器的状态,总共重复5次。
./mysqladmin -uroot -p -i 2 -c 5 status
-#, –debug[=name] Output debug log. Often this is ‘d:t:o,filename’.
-f, –force Don’t ask for confirmation on drop database; with
multiple commands, continue even if an error occurs. 禁用错误,drop 数据库时不提示,执行多条命令时出错继续执行
-C, –compress Use compression in server/client protocol.
–character-sets-dir=name 字符集所在目录
Directory where character sets are.
–default-character-set=name 设置默认字符集
Set the default character set.
-?, –help Display this help and exit. 显示帮助
-h, –host=name Connect to host. 连接的主机名或iP
-p, –password[=name] 登录密码,如果不写于参数后,则会提示输入
Password to use when connecting to server. If password is
not given it’s asked from the tty.
-P, –port=# Port number to use for connection. 指定数据库端口
–protocol=name The protocol of connection (tcp,socket,pipe,memory). 指定连接协议
-r, –relative Show difference between current and previous values when
used with -i. Currently works only with extended-status. 显示前后变化的值,必须结合- i
./mysqladmin -uroot -p -i 2 -r extended-status
假如此处显示的uptime 将永远是2,因为与之前取的结果比只相差2.
-O, –set-variable=name
Change the value of a variable. Please note that this
option is deprecated; you can set variables directly with
–variable-name=value.修改变量的值,该选项已经不再使用,请使用–variable-name=value 的方式修改变量值
-s, –silent Silently exit if one can’t connect to server.
-S, –socket=name Socket file to use for connection. 指定socket file
-i, –sleep=# Execute commands again and again with a sleep between. 间隔一段时间执行一次
-u, –user=name User for login if not current user.登录数据库用户名
-v, –verbose Write more information. 写更多的信息
-V, –version Output version information and exit. 显示版本
./mysql -uroot -p -V
-E, –vertical Print output vertically. Is similar to –relative, but
prints output vertically.
-w, –wait[=#] Wait and retry if connection is down. 如果连接断开,等待w 指定的时间后重试
–connect_timeout=#
–shutdown_timeout=#
1、查看服务器的状况:status
./mysql -uroot -p status
显示结果:
Uptime: 4883162 Threads: 1 Questions: 86 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 18 Queries per second avg: 0.000
2.修改root 密码:
mysqladmin -u root -poldpassword password ‘newpassword’
3.检查mysqlserver是否可用:
mysqladmin -uroot -p ping
显示结果:
mysqld is alive
4.查询服务器的版本
mysqladmin -uroot -p version
5.查看服务器状态的当前值:
mysqladmin -uroot -p extended-status
显示结果:
+———————————–+———-+
| Variable_name | Value |
+———————————–+———-+
| Aborted_clients | 12 |
| Aborted_connects | 300 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 23608 |
| …….
|Threads_created | 3 |
| Threads_running | 1 |
| Uptime | 4884294 |
+———————————–+———-+
6.查询服务器系统变量值:
mysqladmin -uroot -p variables
显示结果:
+———————————+—————————————-+
| Variable_name | Value |
+———————————+—————————————-+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | /usr/local/mysql/ |
..
7.显示服务器所有运行的进程:
mysqladmin -uroot -p processlist
mysqladmin -uroot -p-i 1 processlist 每秒刷新一次
显示结果:
+—–+——+———–+—-+———+——+——-+——————+
| Id | User | Host | db | Command | Time | State | Info |
+—–+——+———–+—-+———+——+——-+——————+
| 331 | root | localhost | | Query | 0 | | show processlist |
+—–+——+———–+—-+———+——+——-+——————+
8.创建数据库
./mysqladmin -uroot -p create daba-test
验证:
./mysql -uroot -p 登录后:show databases;
9.显示服务器上的所有数据库
./mysqlshow -uroot -p
10.显示数据库daba-test下有些什么表:
./mysqlshow -uroot -p daba-test
11.统计daba-test 下数据库表列的汇总
./mysqlshow -uroot -p daba-test -v
12.统计daba-test 下数据库表的列数和行数
./mysqlshow -uroot -p daba-test -v -v
13. 删除数据库 daba-test
./mysqladmin -uroot -p drop daba-test
14. 重载权限信息
./mysqladmin -uroot -p reload
15.刷新所有表缓存,并关闭和打开log
./mysqladmin -uroot -p refresh
16.使用安全模式关闭数据库
./mysqladmin -uroot -p shutdown
You can also use “/etc/rc.d/init.d/mysqld stop” to shutdown the server. To start the server, execute “/etc/rc.d/init.d/mysql start”–如果不是以服务来运行则这两条命令无效
17.mysqladmin flush commands
# mysqladmin -u root -ptmppassword flush-hosts
# mysqladmin -u root -ptmppassword flush-logs
# mysqladmin -u root -ptmppassword flush-privileges
# mysqladmin -u root -ptmppassword flush-status
# mysqladmin -u root -ptmppassword flush-tables
# mysqladmin -u root -ptmppassword flush-threads
•flush-hosts: Flush all information in the host cache.
•flush-privileges: Reload the grant tables (same as reload).
•flush-status: Clear status variables.
•flush-threads: Flush the thread cache.
18 .mysqladmin 执行kill 进程:
./mysqladmin -uroot -p processlist
./mysqladmin -uroot -p kill idnum
19.停止和启动MySQL replication on a slave server
mysqladmin -u root -p stop-slave
mysqladmin -u root -p start-slave
20 .同时执行多个命令
mysqladmin -u root -p process status version