MySQL神器之show full processlist


本文摘自PHP中文网,作者Guanhui,侵删。

今天在同步测试数据时,网突然断了,等到重连之后,发现表打不开了。

可以看到表的数据长度已有 112192kb,可惜打不开了。

打不开,就准备删掉重来。

事情往往没这么简单,果然删不掉,truncate 也不行,然后 navicat 卡死,遂登上数据库,执行 dorp 操作,还是不行。

估计是网络错误,导致了一些奇怪的事情发生。

那么就一起看看,到底发生了什么吧。

神器登场。

show full processlist;

show full processlist 返回的结果是实时变化的,是对 mysql 链接执行的现场快照,所以用来处理突发事件非常有用。

这个 sql,一般就是充当救火队员的角色,解决一些突发性的问题。

它可以查看当前 mysql 的一些运行情况,是否有压力,都在执行什么 sql,语句耗时几何,有没有慢 sql 在执行等等。

当发现一些执行时间很长的 sql 时,就需要多注意一下了,必要时 kill 掉,先解决问题。

命令有三种执行方式:

1、这种是直接在命令行查询,末尾带 \G 是表示将查询结果进行按列打印,可以使每个字段打印到单独的行。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

mysql> show full processlist;

+--------+------+----------------------+-------+---------+------+----------+-----------------------+

| Id     | User | Host                 | db    | Command | Time | State    | Info                  |

+--------+------+----------------------+-------+---------+------+----------+-----------------------+

| 449000 | root | 127.123.213.11:59828 | stark | Sleep   | 1270 |          | NULL                  |

| 449001 | root | 127.123.213.11:59900 | stark | Sleep   | 1241 |          | NULL                  |

| 449002 | root | 127.123.213.11:59958 | stark | Sleep   | 1216 |          | NULL                  |

| 449003 | root | 127.123.213.11:60088 | stark | Sleep   | 1159 |          | NULL                  |

| 449004 | root | 127.123.213.11:60108 | stark | Sleep   | 1151 |          | NULL                  |

| 449005 | root | 127.123.213.11:60280 | stark | Sleep   | 1076 |          | NULL                  |

| 449006 | root | 127.123.213.11:60286 | stark | Sleep   | 1074 |          | NULL                  |

| 449007 | root | 127.123.213.11:60344 | stark | Sleep   | 1052 |          | NULL                  |

| 449008 | root | 127.123.213.11:60450 | stark | Sleep   | 1005 |          | NULL                  |

| 449009 | root | 127.123.213.11:60498 | stark | Sleep   |  986 |          | NULL                  |

| 449013 | root | localhost            | NULL  | Query   |    0 | starting | show full processlist |

+--------+------+----------------------+-------+---------+------+----------+-----------------------+

11 rows in set (0.01 sec)

mysql> show full processlist\G;

*************************** 1. row ***************************

     Id: 449000

   User: root

   Host: 127.123.213.11:59828

     db: stark

Command: Sleep

   Time: 1283

  State:

   Info: NULL

*************************** 2. row ***************************

     Id: 449001

   User: root

   Host: 127.123.213.11:59900

     db: stark

Command: Sleep

   Time: 1254

  State:

   Info: NULL

2、通过查询链接线程相关的表来查看快照

阅读剩余部分

相关阅读 >>

mysql中select语句介绍及使用示例

mysql解决时区相关问题

mysql单表容量有多少

mysql如何修改字段为null

mysql里怎样创建函数

深入了解mysql中的join语句算法及优化方法

mysql中各种常见join连表查询实例总结

mysql中常用的的内置函数

远程连接mysql失败了怎么办

mysql 中 innodb 和 myisam 区别

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...