MySQL管理操作的客户端程序mysqladmin
mysqladmin [option] command [command option] command …
选项:
-c number 自动运行次数统计,必须和 -i 一起使用
-i number 间隔多长时间重复执行
每个两秒查看一次服务器的状态,总共重复5次。
./mysqladmin -uroot -p -i 2 -c 5 status
-h, --host=name Connect to host. 连接的主机名或iP
-p, --password[=name] 登录密码,如果不写于参数后,则会提示输入
-P, --port=# Port number to use for connection. 指定数据库端口
-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. 显示版本
一、应用实例
1、查看服务器的状况:status
# mysqladmin -uroot -p status
Enter password:
Uptime: 26 Threads: 1 Questions: 2 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 60 Queries per second avg: 0.076
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 processlist
# mysqladmin -uroot -p-i 1 processlist 每秒刷新一次
# mysqladmin -uroot -p processlist
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 8 | root | localhost | | Query | 0 | init | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
[root@DB02 ~]# mysqladmin -uroot -p -i 1 processlist
Enter password:
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 9 | root | localhost | | Query | 0 | init | show processlist |
6.创建数据库
# mysqladmin -uroot -p create daba-test
# mysqladmin -uroot -p123456 create lili
Warning: Using a password on the command line interface can be insecure.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| lili |
| mao |
| mysql |
| dadong |
| hehe |
| performance_schema |
+--------------------+
7 rows in set (0.00 sec)
7.显示服务器上的所有数据库
# mysqlshow -uroot -p
8.显示数据库daba-test下有些什么表:
# mysqlshow -uroot -p daba-test
# mysqlshow -uroot -p123456 mysql
Warning: Using a password on the command line interface can be insecure.
Database: mysql
+---------------------------+
| Tables |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
9.统计daba-test 下数据库表列的汇总
# mysqlshow -uroot -p daba-test -v
10.统计daba-test 下数据库表的列数和行数
# mysqlshow -uroot -p daba-test -v -v
- 删除数据库 daba-test
# mysqladmin -uroot -p drop daba-test
- 重载权限信息
# mysqladmin -uroot -p reload
13.刷新所有表缓存,并关闭和打开log
# mysqladmin -uroot -p refresh
14.使用安全模式关闭数据库
# mysqladmin -uroot -p shutdown
二、mysqladmin的extended-status指令查看 mysql各状态
mysqladmin的extended-status和mysql的 show status指令差不多,都可以查看mysql状态值,这些值是我们诊断和优化mysql数据库的重要信息来源,我们可以通过监控一些重要值,然后利用 rrdtool画图对mysql做监控
mysql状态值含义
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。