Can't execute the query because you have a conflicting read lock

mysql> create table t (id int(10) );

ERROR 1223 (HY000): Can't execute the query because you have a conflicting read lock



mysql> select id,user,host,command,time,state from information_schema.processlist;
+----+---------+---------------------+-------------+------+------------------------------------------------------------------+
| id | user    | host                   | command     | time | state                                                            |
+----+---------+---------------------+-------------+------+------------------------------------------------------------------+
|  9 | root    | localhost            | Sleep        |  516 |                                                                  |
| 17 | root    | localhost           | Query       |  952 | Waiting for global read lock                                     |
| 22 | root    | localhost           | Query       |    0 | executing                                                        |
+----+---------+---------------------+-------------+------+------------------------------------------------------------------+
3 rows in set (0.00 sec)


global read lock  是怎么产生的?

那个线程产生的呢?


一般global read lock 有 flush table with read lock; 产生。因此只要UNLOCK TABLES 就可以了。

要定位那个thread 持有这个锁,可能需要借助gdb了。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值