开发者

mysql锁表确认及解除锁表的实现示例

目录
  • 一、查看表是否被锁
    • 1、查询库表命令
    • 2、连接工具直接www.devze.com查询
    • 3、show processlist 命令
  • 二、解锁表

    一、查看表是否被锁

    一共3种方式

    1、查询库表命令

    information_schema库里的procpythonesslist表,存着正在进行的线程数据,可通过where条件模糊匹配执行sql中的表名来拿到该表的相关线程数据。

    通过查看state字段确认表是否被锁,可翻译或百度查看详细锁表原因。

    select id,db,user,host,command,time,state,info
    from information_schema.processlist
    #where info like '%表名%'
    order by time desc;

    mysql锁表确认及解除锁表的实现示例

    字段注释
    id线程id标识,当锁表或进程卡死时可用kill杀掉
    user当前连接用编程客栈户
    host显示当前线程命令发出的的客户端Ip和端口号,用来追踪
    db当前连接的数据库名
    command连接状态,一般是休眠(sleep),查询(query),连接(connect)的命令的类型
    time连接javascript执行时间,单位是秒
    state显示当前线程中sql语句的执行状态
    info执行的sql语句

    确认被锁后,用命令kill杀掉该线程来释放。

    kill id;

    2、连接工具直接查询

    我这用navicat演示

    mysql锁表确认及解除锁表的实现示例

    mysql锁表确认及解除锁表的实现示例

    mysql锁表确认及解除锁表的实现示例

    通过查看state字段确认表是否被锁。

    确认被锁后,用命令kill杀掉该线程来释放。

    3、show processlist 命令

    使用show processlist;查询命令来查看当前所有线程

    show processlist;

    也可添加full查看更详细的内容

    show full processlist;

    区别:

    • 如果不用full,则在Info字段中只显示每个语句的前100个字符

    这个命令要一条条数据查找,建议使用前两种才方法

    查看info字段中的表名。

    通过查看state字段确认表是否被锁。

    确认被锁后android,用命令kill杀掉该线程来释放。

    二、解锁表

    确认被锁后,用命令kill杀掉相关线程来释放。

    kill 线程id;

    到此这篇关于mysql 锁表确认及解除锁表的实现示例的文章就介绍到这了,更多相关mysql 锁表确认及解除锁表内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜