MySQL mysqladmin

mysqladmin是mysqld后台进程的管理工具,非常方便。一定程度取代了使用mysql客户端工具登录命令行执行一些管理命令。该命令行工具中,和登录、验证、连接相关的参数和其他mysql*工具是一样的(-u,-p,-h,-P,-s,–ssl*,-C/–compress, –protocol, –secure-auth, –default-character-set等)。其他常用的参数如下:
-f, –force Don’t ask for confirmation on drop database; with multiple commands, continue even if an error occurs.
# 输出信息
–debug-check Check memory and open file usage at exit.
–debug-info Print some debug info at exit.
-v, –verbose Write more information.
# 定期执行一次,间隔为-i秒,一共执行-c次。对比输出。
-c, –count=# Number of iterations to make. This works with -i (–sleep) only.
-i, –sleep=# Execute commands again and again with a sleep between.
-r, –relative Show difference between current and previous values when used with -i. Currently only works with extended-status.
-E, –vertical Print output vertically. Is similar to –relative, but prints output vertically.
#连接错误则静默退出,超时选项
-s, –silent Silently exit if one can’t connect to server.
–connect-timeout=#
–shutdown-timeout=#
-w, –wait[=#] Wait and retry if connection is down.
mysqladmin主要提供了下面命令功能:

(1). 创建/删除数据库

(2). 设置用户密码&重载权限表

(3). 服务器信息
a). debug
通知服务器将debug信息写入log
b). variables
输出server的参数变量
c). status
mysqladmin -uroot -proot2014 stat
Uptime: 67117 Threads: 5 Questions: 249832 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 91 Queries per second avg: 3.722
Uptime:mysqld已经运行的时间(秒)
Threads:活跃线程(客户端连接)数
Questions:从mysqld启动起来自客户查询的数量
Slow queries:超过long_query_time的查询数量
Opens: mysqld已经打开了多少表
Flush tables:flush …, refresh和reload等命令数量
Open tables:现在被打开的表数量
Queries per second avg:查询平均用时
d). extended-status
输出一个完整的统计信息,如:

e). ping
检查mysqld是否存活:mysqld is alive
f). processlist
显示服务其中活跃线程(会话)列表

g). kill process
根据这个表得到的结果,杀掉对应id的线程连接
kill id1,id2…

(4). 启停daemon和slave

(5). flush
a). flush-hosts
flush所有缓存的主机。例如,当来自一个主机的连接超过max_connect_errors次失败的请求后,mysqld会阻止这个主机进一步的连接(Host “”*****”” is blocked because of many connection errors; unblock with “”mysqladmin flush-hosts”””)。这时可以使用flush-hosts解除限制。
b). flush-logs
flush日志。关闭并重新打开所有的日志文件。如果您已经指定了一个更新日志文件或一个二进制日志文件,同时没有扩展,则相对于前一个文件,日志文件的扩展号增加1。如果您在文件名称中使用了一个扩展,则MySQL会关闭并重新打开日志文件。
c). flush-tables
关闭所有打开的表,同时该操作将会清空查询缓存中的内容。
d). refresh
flush-tables + flush-logs

^^

Posted in Database, MySQL.