mysqladmin: 用于管理MySQL服务器的客户端
目前mysql可以说是大行其道, 而mysqladmin作为管理MySQL服务器的客户端, 使用他来管理mysql, 以及观测mysql的状态, 显得尤为有用, 本文就详述mysqladmin的使用方法
mysqladmin:用于管理MySQL服务器的客户端
mysqladmin是一个执行管理操作的客户程序。可以用它来检查服务器的配置和当前的状态,创建并删除数据库等等。
这样调用mysqladmin:
shell> mysqladmin [options] command [command-options] [command [command-options]] …
mysqladmin支持下面的命令:
· create db_name
创建一个名为db_name的新数据库。
· debug
告诉服务器向错误日志写入调试信息。
· drop db_name
删除名为db_nam的数据库和所有表。
· extended-status
显示服务器状态变量及其值。
· flush-hosts
刷新主机缓存中的所有信息。
· flush-logs
刷新所有日志。
· flush-privileges
重载授权表(类似reload)。
· flush-status
清除状态变量。
· flush-tables
刷新所有表。
· flush-threads
刷新线程缓存。
· kill id,id,…
杀掉服务器线程。
· old-password new-password
类似password但使用旧的(pre-4.1)密码哈希格式保存 密码。
· password new-password
设置一个新密码。将用mysqladmin连接服务器使用的 账户的密码更改为new-password。
如果new-password包含空格或其它命令解释符的特殊字符,需要用引号将它引起来。在Windows中,一定要使用双引号而不要用单引号;单引号不会从 密码中剥离出来,而是解释为密码的一部分。例如:
shell> mysqladmin password “my new password”
· ping
检查服务器是否仍活动。如果服务器在运行mysqladmin返回状态0,如果不运行返回1。即使出现错误例如Access denied也为0,因为这说明服务器在运行但拒绝了连接,与服务器不在运行不同。
· processlist
显示活动服务器线程的列表。类似SHOW PROCESSLIST语句的输出。如果给出了–verbose选项,输出类似SHOW FULL PROCESSLIST。
· reload
重载授权表。
· refresh
刷新所有表并关闭和打开日志文件。
· shutdown
停止服务器。
· start-slave
开始从服务器上的复制。
· status
显示短服务器状态消息。
· stop-slave
停止从服务器上的复制。
· variables
显示服务器系统变量及其值。
· version
显示服务器的版本信息。
所有命令可以简化为任何唯一的前缀。例如:
shell> mysqladmin proc stat
+—-+——-+———–+—-+———+——+——-+——————+| Id | User | Host | db | Command | Time | State | Info |+—-+——-+———–+—-+———+——+——-+——————+| 51 | monty | localhost | | Query | 0 | | show processlist |+—-+——-+———–+—-+———+——+——-+——————+Uptime: 1473624 Threads: 1 Questions: 39487 Slow queries: 0 Opens: 541 Flush tables: 1 Open tables: 19 Queries per second avg: 0.0268 mysqladmin status命令的结果显示下面的值:
· Uptime
MySQL服务器已经运行的秒数。
· Threads
活动线程(客户)的数目。
· Questions
服务器启动以来客户的问题(查询)数目。
· Slow queries
执行时间超过long_query_time秒的查询的数量。
· Opens
服务器已经打开的数据库表的数量。
· Flush tables
服务器已经执行的flush …、refresh和reload命令的数量。
· Open tables
目前打开的表的数量。
· Memory in use
mysqld代码直接分配的内存数量。只有用–with–debug=full编译了MySQL该值才显示。
· Maximum memory used
mysqld代码直接分配的最大内存数量。只有用–with–debug=full编译了MySQL该值才显示。
如果当使用Unix套接字文件连接本地服务器时执行mysqladmin shutdown,mysqladmin将等待直到服务器的进程ID文件被删除,以确保服务器正确停止。
mysqladmin支持下面的选项:
· —help,-?
显示帮助消息并退出。
· –character-sets-dir=path
字符集的安装目录。
· –compress,-C
压缩客户和服务器之间发送的所有信息(如果二者均支持压缩)。
· –count=num,-c num
迭代数目。该选项只有结合–sleep (-i)才能工作。
· —debug[=debug_options],-# [debug_options]
写调试日志。debug_options字符串通常为‘d:t:o,file_name‘。 默认为‘d:t:o,/tmp/mysqladmin.trace’。
· –default-character-set=charset
使用charsetas作为默认字符集。
· –force,-f
不再为drop database命令进行确认。对于多个命令,即使出现错误也继续。
· –host=host_name,-h host_name
连接给定主机上的MySQL服务器。
· –password[=password],-p[password]
连接服务器使用的密码。如果使用短选项形式(-p),该选项和 密码之间不能有空格。如果你在命令行中在–password或-p选项后面省略 密码值,将提示你输入密码。
· –port=port_num,-P port_num
用于连接的TCP/IP端口号。
· –protocol={TCP | SOCKET | PIPE | MEMORY}
使用的连接协议。
· –relative,-r
当带-I使用时显示当前和前面值的差别。目前,该选项只用于extended-status命令。
· –silent,-s
如果不能建立与服务器的连接则以沉默方式退出。
· –sleep=delay,-i delay
每睡眠delay秒后执行一次命令。
· –socket=path,-S path
用于连接的套接字文件。
· –user=user_name,-u user_name
当连接服务器时使用的MySQL用户名。
· –verbose,-v
冗长模式。打印出程序操作的详细信息。
· –version,-V
显示版本信息并退出。
· –vertical,-E
垂直打印输出。类似于–relative,但垂直打印输出。
· –wait[=count],-w[count]
如果连接不能建立,等待并重试而不是放弃。如果给出一个选项值,则指示重试的次数。默认是一次。
也可以使用–var_name=value选项设置下面的变量:
· connect_timeout
连接超时之前的最大秒数。默认值为43200(12小时)。
· shutdown_timeout
等候关闭的最大秒数。默认值为3600(1小时)。
也可以使用–set-variable=var_name=value或-O var_name=value语法来设置变量。然而,现在不赞成该语法,并且不再使用。