文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql processlist

2024-04-02 19:55

关注
今天在写报表时,用Navicat客户端运行一个存储过程,由于语句的原因导致程序一直运行中,整个Navicat客户端都卡住了,无法关闭Navicat客户端。
于是就想到了kill掉这个线程,登录服务器mysql,想用show processlist方法找出程序ID,结果发现有很多用户在登录并且在执行语句,而且show processlist没办法加条件检索
mysql> show processlist;
+------+---------+----------------------+---------------------------+---------+-------+--------------+------------------------------------------------------------------------------------------------------+-----------+---------------+
| Id   | User    | Host                 | db                        | Command | Time  | State        | Info                                                                                                 | Rows_sent | Rows_examined |
+------+---------+----------------------+---------------------------+---------+-------+--------------+------------------------------------------------------------------------------------------------------+-----------+---------------+
| 2158 | root    | 172.158.8.136:50154  | NULL                      | Sleep   | 20755 |              | NULL                                                                                                 |       219 |           219 |
| 2159 | root    | 172.158.8.136:50157  | ADM                       | Sleep   |  4087 |              | NULL                                                                                                 |         0 |             0 |
| 2187 | prouser | 172.158.8.226:49647  | NULL                      | Sleep   | 21335 |              | NULL                                                                                                 |       403 |           403 |
| 2189 | admin   | 172.158.8.226:49692  | skw_reportdata     | Sleep   |  4269 |              | NULL                                                                                                 |         0 |             0 |
| 2203 | admin   | 172.158.8.226:49716  | skw_reportdata     | Sleep   | 20874 |              | NULL                                                                                                 |      1000 |          1000 |
| 2207 | admin   | 172.158.8.226:49725  | skw_reportdata     | Sleep   | 20844 |              | NULL                                                                                                 |         0 |             0 |
| 2212 | root    | 172.158.8.136:50556  | CDM                       | Sleep   |   930 |              | NULL                                                                                                 |         0 |             1 |
| 2217 | prouser | 172.30.249.28:47190  |account            | Sleep   | 11360 |              | NULL                                                                                                 |         0 |             0 |
| 2218 | root    | 172.158.8.136:50601  | DW                        | Sleep   | 20095 |              | NULL                                                                                                 |         0 |             0 |
| 2220 | admin   | 172.158.8.61:49553   | NULL                      | Sleep   | 20247 |              | NULL                                                                                                 |        19 |            19 |
| 2221 | admin   | 172.158.8.61:49554   | ADM                       | Sleep   | 20246 |              | NULL                                                                                                 |         7 |             7 |
| 2233 | prouser | 172.158.8.125:63769  | account            | Sleep   | 19659 |              | NULL                                                                                                 |        21 |            21 |
| 2234 | prouser | 172.158.8.125:63771  | account            | Sleep   | 19512 |              | NULL                                        
.......此处省略大部分结果
结果很不理想,当然我们可以用其他办法,show processlist的结果是来自information_schema.processlist表中
mysql> desc information_schema.processlist;
+---------------+---------------------+------+-----+---------+-------+
| Field         | Type                | Null | Key | Default | Extra |
+---------------+---------------------+------+-----+---------+-------+
| ID            | bigint(21) unsigned | NO   |     | 0       |       |
| USER          | varchar(16)         | NO   |     |         |       |
| HOST          | varchar(64)         | NO   |     |         |       |
| DB            | varchar(64)         | YES  |     | NULL    |       |
| COMMAND       | varchar(16)         | NO   |     |         |       |
| TIME          | int(7)              | NO   |     | 0       |       |
| STATE         | varchar(64)         | YES  |     | NULL    |       |
| INFO          | longtext            | YES  |     | NULL    |       |
| TIME_MS       | bigint(21)          | NO   |     | 0       |       |
| ROWS_SENT     | bigint(21) unsigned | NO   |     | 0       |       |
| ROWS_EXAMINED | bigint(21) unsigned | NO   |     | 0       |       |
| TID           | bigint(21) unsigned | YES  |     | NULL    |       |
+---------------+---------------------+------+-----+---------+-------+
12 rows in set (0.00 sec)
我们可以通过这张表进行检索出我们需要的结果
mysql> SELECT id,user, host, time, command,info from information_schema.processlist where user='root' and info like '%insert into%'\G;
*************************** 1. row ***************************
     id: 2695
   user: root
   host: localhost
   time: 0
command: Query
   info: SELECT id,user, host, time, command,info from information_schema.processlist where user='root' and info like '%insert into%'
*************************** 2. row ***************************
     id: 2645
   user: root
   host: 172.158.8.136:53258
   time: 1522
command: Query
   info: insert into `CDM`.cdm_product(product_id,product_type,product_name,add_rate,base_rate,year_rate,startdate,enddate,is_current)
SELECT a.id,CASE
            WHEN IFNULL(i.enlending_type, '9') = '0' THEN '1'
            WHEN IFNULL(i.enlending_type, '9') = '1' THEN '2'
            WHEN IFNULL(i.enlending_type, '9') = '4' THEN '3'
            WHEN IFNULL(i.enlending_type, '9') = '5' THEN '4'
            WHEN IFNULL(i.enlending_type, '9') = '6' THEN '5'
            WHEN IFNULL(i.enlending_type, '9') = '7' THEN '6'
            WHEN IFNULL(i.enlending_type, '9') = '9' THEN '7' ELSE IFNULL(i.enlending_type, '9')END,
a.loan_info_title,0,a.loan_info_interest,a.loan_info_interest,'20140808','99990101',1 
FROM DW.dw_biz_invest_statements a
left JOIN DW.dw_biz_loan_info i
ON a.loan_info_id=i.id
GROUP BY loan_info_title
2 rows in set (0.01 sec)
第二条就是我们要的结果kill掉就OK了
mysql>kill 2645;
Query OK, 0 rows affected (0.00 sec)
这个时候Navicat客户端就恢复正常了。!
   
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯