MySQL锁表以及解锁

1.什么是锁表

        

        mysql数据库的查询机制是在查询时会创建一个具有一定层级的数据,然后将数据从底层一直向上查询直到找到返回的数据。但是如果在单个数据库有多个连接的情况下对同一个数据表进行操作时,那么就会出现查询速度变慢的情况,当查询不出结果的时候就发生锁表了。

        除了以上的方式会导致锁表之外,还可以在对一个数据表进行备份或者迁移等操作时防止出问题去手动的进行锁表。被锁的表是无法进行任何操作的,锁表的语句如下:

LOCK TABLES tbl_name READ;

LOCK TABLES table_name READ;
2.解锁方法

        

        mysql中如果发生了锁表的情况可以通过直接杀死造成数据库进程堵塞的进程,这样没有进程去使用同一个资源就不会发生锁表的情况了。

        在mysql数据库之中打开一个空白脚本然后执行命令去查询当前有哪些进程是在使用的,然后使用kill语句将其关闭即可,命令如下:

# 显示进程
show processlist;
# 关闭进程
UNLOCK TABLES;
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值