zoukankan      html  css  js  c++  java
  • Mysql 性能查询

    Mysql锁占用后,表无法操作,解决办法

    原因: 未提交事物,阻塞DDL,继而阻塞所有同表的后续操作

    通过 select * from information_schema.innodb_trxG, 找到未提交事物的sid, 然后 kill 掉,让其回滚。

    Mysql查询当前锁状况: 

    -- 查看mysql 事务处理列表
    select * from information_schema.INNODB_TRX  

    innodb_trx ## 当前运行的所有事务 
    innodb_locks ## 当前出现的锁 
    innodb_lock_waits ## 锁等待的对应关系

    -- 查看 所有mysql 进程id
    show full PROCESSLIST;

    各个列的含义:

    ①.id列,用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看
    ②.user列,显示当前用户。如果不是root,这个命令就只显示用户权限范围的sql语句
    ③.host列,显示这个语句是从哪个ip的哪个端口上发的,可以用来跟踪出现问题语句的用户
    ④.db列,显示这个进程目前连接的是哪个数据库
    ⑤.command列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等
    ⑥.time列,显示这个状态持续的时间,单位是秒
    ⑦.state列,显示使用当前连接的sql语句的状态,很重要的列。state描述的是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending data等状态才可以完成
    ⑧.info列,显示这个sql语句,是判断问题语句的一个重要依据

    ### kill 掉 指定的第一列线程id

    mysql>kill thread_id;

  • 相关阅读:
    如何在for循环中使用多线程
    解决ios10以上H5页面手势、双击缩放问题
    select标签默认选项
    vue三级联动
    手动安装composer详细教学
    密码校验:长度6位以上,至少包含一个数字,一个大写字母,一个小写字母,不包含空格
    tp5生成6位不重复验证码
    css漂亮的阴影边框
    圆形进度条css3样式
    jQuery倒计时组件(jquery.downCount.js)
  • 原文地址:https://www.cnblogs.com/Mblog/p/13946599.html
Copyright © 2011-2022 走看看