欢迎访问服务器技术网-www.fuwuqijishu.com

MySQL数据库查看锁表解锁的小命令行

运维 fuwuqijishu 2年前 (2022-09-04) 11次浏览 0个评论 扫描二维码

有些时候我们在处理MySQL数据库的时候需要检查数据库的状态。比如今天上午在查看一个项目发现无法写入数据,这里检查数据表是不是有被锁住,这里顺带记录几个MySQL查看锁表的状态命令。

1、mysql 查看锁表解锁

— 查看那些表锁到了 show open tables where in_use > 0;
— 查看进程号 show processlist;
— 删除进程 kill 1085850;

2、查询是否锁表

show open tables where in_use > 0;
show open tables;

3、 锁定数据表,避免在备份过程中,表被更新

mysql>lock tables tbl_name read;

4、为表增加一个写锁定

mysql>lock tables tbl_name write;

5、 解锁

unlock tables;

6、查看表的状态

show status like 'table%';
show status like 'innodb_row_lock%';

注意:该处是锁定为只读状态,语句不区分大小写

这里还有一些常用的命令。

1、 关闭所有打开的表,强制关闭所有正在使用的表

flush tables

2、关闭所有打开的表并使用全局读锁锁定所有数据库的所有表

flush tables with read lock;

3、如果一个会话中使用lock tables tbl_name lock_type语句对某表加了表锁,在该表锁未释放前,那么另外一个会话如果执行flush tables语句会被阻塞,执行flush tables with read lock也会被堵塞

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Warning: error_log(/www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/#log/log-2303.txt): failed to open stream: No such file or directory in /www/wwwroot/fuwiqijishu/wp-content/plugins/spider-analyser/spider.class.php on line 2900