当前位置: 首页 > 文档资料 > MySQL 中文手册 >

8.5. mysqladmin:用于管理MySQL服务器的客户端

优质
小牛编辑
124浏览
2023-12-01

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)密码哈希格式保存密码。(参见5.7.9节,“MySQL 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。(参见13.5.4.16节,“SHOW 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秒的查询的数量。参见5.11.4节,“慢速查询日志”。

·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 shutdownmysqladmin将等待直到服务器的进程ID文件被删除,以确保服务器正确停止。

mysqladmin支持下面的选项:

·---help,-?

显示帮助消息并退出。

·--character-sets-dir=path

字符集的安装目录。参见5.10.1节,“数据和排序用字符集”。

·--compress,-C

压缩客户和服务器之间发送的所有信息(如果二者均支持压缩)。

·--count=num,-cnum

迭代数目。该选项只有结合--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作为默认字符集。参见5.10.1节,“数据和排序用字符集”。

·--force,-f

不再为drop database命令进行确认。对于多个命令,即使出现错误也继续。

·--host=host_name,-hhost_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,-idelay

每睡眠delay秒后执行一次命令。

·--socket=path,-Spath

用于连接的套接字文件。

·--user=user_name,-uuser_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或-Ovar_name=value语法来设置变量。然而,现在不赞成该语法,并且不再使用。