当前位置:   article > 正文

MySql锁表 解锁 查锁 杀锁_mysql杀锁

mysql杀锁
  1. #示例
  2. SELECT * FROM production_log where sn = 'F20LIKE22082316'
  3. #锁表 production_log
  4. #写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.
  5. LOCK TABLES production_log WRITE;
  6. #读锁,锁定之后,无论是当前线程还是其他线程均只能读操作,写操作全部被堵塞
  7. LOCK TABLES production_log READ;
  8. #查锁
  9. show OPEN TABLES where In_use > 0;
  10. #解锁 (不用写表名,只能自己解锁,即同一连接,别人无效,不同连接无效。)
  11. UNLOCK TABLES;
  12. #查锁表进程
  13. show processlist
  14. #或
  15. SELECT * FROM information_schema.PROCESSLIST
  16. #杀掉锁表进程id=33(任何人都行)(连接断开,即进程结束,即锁也没了。)
  17. kill 33

 

行级锁/排他锁 [使用FOR UPDATE]

表需要是InnoDB引擎;

还需要配合事务

  1. BEGIN;
  2. SELECT * FROM production_log WHERE sn = 'F20LIKE22082316' FOR SELECT;
  3. COMMIT;#事务提交[或者 ROLLBACK 事务回滚]

在启动事务然后锁定某一行后,在事务提交之前或者事务回滚之前该行会一直处于锁定状态,此时只允许当前线程进行读写操作,其他线程只能进行操作,其他写操作全部被堵塞。

MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型不支持!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/641849
推荐阅读
相关标签
  

闽ICP备14008679号