MySQL管理工具mysqladmin的使用

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

你可能感兴趣的:(MySQL管理工具mysqladmin的使用)