› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
julyone
V2EX  ›  MySQL

mysql5.6 update 锁表后 kill 事务然后重启 mysql 导致后续同样的 update 语句都会出现超时

  •  
  •   julyone · Jan 16, 2020 · 5184 views
    This topic created in 2447 days ago, the information mentioned may be changed or developed.

    今天突然发现 mysql 更新缓慢而且失败 SELECT * FROM information_schema.innodb_trx;发现有长时间 wait 的 update 语句,遂直接 kill,重启了一下 mysql。 后续发现该表的 update 语句都会超时,一直处于 wait 情况。其他表良好。

    https://s2.ax1x.com/2020/01/16/lje0eK.png

    查询情况的图片在上 一直会有个 query 为空的占有,杀死后 update 也会被干掉

    18 replies  •  2020-01-16 18:31:45 +08:00
    Girlphobia
        1
    Girlphobia  
       Jan 16, 2020 via Android
    听起来就像是这个表事务写入的某个锁没释放。

    我不是 DBA,我瞎说的。
    zuoakang
        2
    zuoakang  
       Jan 16, 2020
    连接池吧
    dyllen
        3
    dyllen  
       Jan 16, 2020
    是不是代码里面写的发生死锁了,我之前就有遇到,代码问题导致同一个事物里面出现死锁。
    CallMeReznov
        4
    CallMeReznov  
       Jan 16, 2020
    表特别大?而且没建或者索引长时间没更新?
    查询时 IO 情况如何?
    julyone
        5
    julyone  
    OP
       Jan 16, 2020
    @dyllen
    @zuoakang
    没有哦 这个发生之后我直接在 Navicat 客户端执行语句也不行 而且连这个表都不能删除
    julyone
        6
    julyone  
    OP
       Jan 16, 2020
    @Girlphobia 有点像这个现象 但是没遇到这么奇怪的
    julyone
        7
    julyone  
    OP
       Jan 16, 2020
    @CallMeReznov update 的并没有发生很高的 IO 估计就没有执行更新 一直在某个地方卡住了一样 表是有点大 只是更新一行数据 innodb 引擎 也是锁行啊
    SjwNo1
        8
    SjwNo1  
       Jan 16, 2020
    update 怎么锁表了?是不是没用索引
    另外,可能是死锁了
    julyone
        9
    julyone  
    OP
       Jan 16, 2020
    @SjwNo1 用索引了呀 死锁可能性也有 后续情况是表都没办法删除了
    SjwNo1
        10
    SjwNo1  
       Jan 16, 2020
    select @@autocommit; 看看, 是不是为 0 了我怀疑, 不过重启了应该没啥问题
    julyone
        11
    julyone  
    OP
       Jan 16, 2020
    @SjwNo1 排查过 是 1
    SjwNo1
        12
    SjwNo1  
       Jan 16, 2020
    行吧~ 删库吧
    0dJ6Tu8Za734L89T
        13
    0dJ6Tu8Za734L89T  
       Jan 16, 2020
    行吧~ 删库吧
    wangyzj
        14
    wangyzj  
       Jan 16, 2020
    隔离级别呢?
    试过重建表和索引么?
    liuxu
        15
    liuxu  
       Jan 16, 2020
    别猜了,贴 mysql 的 log 吧
    lenmore
        16
    lenmore  
       Jan 16, 2020
    有 SQL 执行完了,但是事务没提交。
    可能是应用启了事务,但是异常退出或者在做什么耗时的从操作,一直没 commit
    abccccabc
        17
    abccccabc  
       Jan 16, 2020
    有可能是事务没有提交导致的,以前我公司也出现过大面积的这种情况。检查未提交 的 SQL 对应的程序。改吧。没啥好办法。
    ETO
        18
    ETO  
       Jan 16, 2020
    楼主解决好了,@我一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3327 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 04:22 · PVG 12:22 · LAX 21:22 · JFK 00:22
    ♥ Do have faith in what you're doing.