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也会被堵塞
show status like 'innodb_row_lock%';
show status like 'table%';
Table_locks_immediate表示立即释放表锁数,
Table_locks_waited表示需要等待的表锁数,
Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎,
因为InnoDB是行锁而MyISAM是表锁,对于高并发写入的应用InnoDB效果会好些。
示例中的服务器Table_locks_immediate / Table_locks_waited = 235,MyISAM就足够了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2021-02-25 Git 常用命令
2021-02-25 Git命令 把本地代码库上传到 Gitlab服务器