锁表产生的原因
锁表的具体情况
解决锁表问题
1、查询是否锁表
show OPEN TABLES where In_use > 0;
2、查询进程
show processlist;
查询到相对应的进程,然后
kill pid 或者找到被锁的表:UNLOCK TABLES;
补充:
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
锁表
锁定数据表,避免在备份过程中,表被更新
LOCK TABLES tbl_name READ;
为表增加一个写锁定:
LOCK TABLES tbl_name WRITE;