今天我将详细的为大家介绍 MySQL 日常管理命令的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!!
show processlist
processlist 命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。
如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showprocesslist只能列出当前100条。如果想全部列出,可以使用SHOW FULL PROCESSLIST命令
mysql> show processlist; +----+------+--------------------+------+---------+-------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+--------------------+------+---------+-------+-------+------------------+ | 1 | root | localhost | NULL | Sleep | 12 | | NULL | | 2 | root | 192.168.100.1:7437 | test | Sleep | 8035 | | NULL | | 3 | root | 192.168.100.1:7438 | NULL | Sleep | 24348 | | NULL | | 5 | root | 192.168.100.1:7443 | NULL | Sleep | 24317 | | NULL | | 7 | root | 192.168.100.1:7450 | test | Sleep | 24272 | | NULL | | 9 | root | 192.168.100.1:5152 | test | Query | 0 | init | show processlist | +----+------+--------------------+------+---------+-------+-------+------------------+ 6 rows in set
mysql> show full processlist; +----+------+--------------------+------+---------+-------+-------+-----------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+--------------------+------+---------+-------+-------+-----------------------+ | 1 | root | localhost | NULL | Sleep | 19 | | NULL | | 2 | root | 192.168.100.1:7437 | test | Sleep | 8042 | | NULL | | 3 | root | 192.168.100.1:7438 | NULL | Sleep | 24355 | | NULL | | 5 | root | 192.168.100.1:7443 | NULL | Sleep | 24324 | | NULL | | 7 | root | 192.168.100.1:7450 | test | Sleep | 24279 | | NULL | | 9 | root | 192.168.100.1:5152 | test | Query | 0 | init | show full processlist | +----+------+--------------------+------+---------+-------+-------+-----------------------+ 6 rows in set
各个列的含义
在主从复制环境中,show processlist或show full processlist对于判断状态很有帮助,例如下面的state列:
更多关于MySQL学习的文章,请参阅: ,本系列持续更新中。
show status
使用show status;可以比较全面地查看到 mysql状态
mysql> show status;
参数解释
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 #服务器工作了多少秒。
更多关于MySQL学习的文章,请参阅: ,本系列持续更新中。
mysqladmin
mysqladmin 工具的使用格式
mysqladmin [option] command [command option] command ......
参数选项
-c number #自动运行次数统计,必须和 -i 一起使用 -i number #间隔多长时间重复执行
实例
0)每个两秒查看一次服务器的状态,总共重复5次。
[root@test-kevin ~]# mysqladmin -uroot -p -i 2 -c 5 status
1)查看服务器的状况:status
[root@test-kevin ~]# mysqladmin -uroot -p status
2)修改root 密码:
[root@test-kevin ~]# mysqladmin -u root -p原密码 password 'newpassword'
3)检查mysqlserver是否可用:
[root@test-kevin ~]# mysqladmin -uroot -p ping
4)查询服务器的版本
[root@test-kevin ~]# mysqladmin -uroot -p version
5)查看服务器状态的当前值:
[root@test-kevin ~]# mysqladmin -uroot -p extended-status
6)查询服务器系统变量值:
[root@test-kevin ~]# mysqladmin -uroot -p variables
7)显示服务器所有运行的进程:
[root@test-kevin ~]# mysqladmin -uroot -p processlist [root@test-kevin ~]# mysqladmin -uroot -p-i 1 processlist //每秒刷新一次
8)创建数据库
[root@test-kevin ~]# mysqladmin -uroot -p create daba-test
9)显示服务器上的所有数据库
[root@test-kevin ~]# mysqlshow -uroot -p
10)显示数据库daba-test下有些什么表:
[root@test-kevin ~]# mysqlshow -uroot -p daba-test
11)统计daba-test 下数据库表列的汇总
[root@test-kevin ~]# mysqlshow -uroot -p daba-test -v
12)统计daba-test 下数据库表的列数和行数
[root@test-kevin ~]# mysqlshow -uroot -p daba-test -v -v
13)删除数据库 daba-test
[root@test-kevin ~]# mysqladmin -uroot -p drop daba-test
14)重载权限信息
[root@test-kevin ~]# mysqladmin -uroot -p reload
15)刷新所有表缓存,并关闭和打开log
[root@test-kevin ~]# mysqladmin -uroot -p refresh
16)使用安全模式关闭数据库
[root@test-kevin ~]# mysqladmin -uroot -p shutdown
17)刷新命令mysqladmin flush commands
[root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-hosts [root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-logs [root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-privileges [root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-status [root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-tables [root@test-kevin ~]# mysqladmin -u root -ptmppassword flush-threads
18)mysqladmin 执行kill 进程:
[root@test-kevin ~]# mysqladmin -uroot -p processlist [root@test-kevin ~]# mysqladmin -uroot -p kill idnum
19)停止和启动MySQL replication on a slave server
[root@test-kevin ~]# mysqladmin -u root -p stop-slave [root@test-kevin ~]# mysqladmin -u root -p start-slave
20)同时执行多个命令
[root@test-kevin ~]# mysqladmin -u root -p process status version
出处:
https://www.cnblogs.com/kevingrace/p/6274390.html