`

【MySQL】事务没有提交导致 锁等待Lock wait timeout exceeded异常

 
阅读更多

 

异常:Lock wait timeout exceeded; try restarting transaction

解决办法:

执行select * from information_schema.innodb_trx 之后找到了一个一直没有提交的只读事务, 找到对应的线程后,执行 kill thread id,再确认一直没有提交的只读事物被干掉了就OK了。

1
3
分享到:
评论

相关推荐

    解决SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded_runtimeerror怎么修复

    在MySQL数据库操作中,"SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded" 是一个常见的错误,它意味着在执行事务时,系统等待锁定资源的时间超过了预设的限制。这个错误通常发生在并发环境中,当...

    KFC系列之 - Oracle DBA入门Mysql(中)

    - **innodb_lock_wait_timeout**:设置在等待锁时的超时时间,单位为秒。如果超过了这个时间还没有获取到锁,那么会抛出错误并提示用户重启事务。 ##### 3. 锁相关字典表查询和命令 MySQL提供了几个系统视图来查看...

    python pymysql 无法登陆修改 plugin 脚本

    python pymysql 无法登陆,报错pymysql.err.InternalError: (1698, "Access denied for user 'root'@'localhost'")或pymysql.err.InternalError: (1045, "Access denied for user 'root'@'localhost'"),详细报错...

    mysql-常见问题,索引优化

    5. Lock wait timeout exceeded 当事务中的操作无法立即获得锁定时,会等待一段时间,超时后抛出错误。这可能是死锁的信号,应检查事务的执行顺序,避免循环等待。 6. InnoDB与MyISAM的区别 InnoDB支持事务和行级...

    Mysql悲观锁和乐观锁的使用示例

    如果Session 1长时间未提交,Session 2会收到`Lock wait timeout exceeded`错误。可以通过`innodb_lock_wait_timeout`配置参数调整超时时间。 **乐观锁(Optimistic Lock)** 乐观锁则相反,它在读取数据时不加锁...

    MySQL关于ERROR 1290 (HY000)报错解决方法

    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> mysql

    SQL2008中SQL应用之- 死锁(Deadlocking)

    在SQL Server 2008中,死锁是指两个或多个并发事务互相等待对方释放资源,从而导致它们都无法继续执行的情况。当出现死锁时,SQL Server会选择一个会话作为"死锁牺牲品",结束该会话的事务并回滚其操作,以此来打破...

    Java常见异常集-Java,Hibernate,Tomcat异常

    12. **Lock wait timeout exceeded try restarting transaction**:在MySQL中,如果事务等待锁的时间超过设定的超时时间,会出现此错误。分析事务逻辑,优化事务粒度,或者提高锁等待超时时间(innodb_lock_wait_...

    mysql主备双向复制[定义].pdf

    在实际操作中,为了防止因事务隔离级别导致的问题,如"Lock wait timeout exceeded"错误,可能需要将MySQL的事务级别设置为`READ COMMITTED`。 一旦主服务器配置完成,就可以在备用服务器上重复类似步骤,但要使用...

    记一次MySQL数据库问题排查

    `Error: ER_LOCK_WAIT_TIMEOUT: Lock wait timeout exceeded; try restarting transaction`表明某个事务在等待其他事务释放锁资源时超过了预设的超时时间。事务是数据库操作的重要组成部分,它确保了数据的一致性和...

    查找MySQL线程中死锁的ID的方法

    3. **合理设置锁等待超时**:通过调整`innodb_lock_wait_timeout`系统变量,可以控制事务等待锁的最大时间,避免长时间阻塞其他事务。 4. **使用乐观锁**:在读多写少的场景下,考虑使用乐观锁策略,减少锁定冲突。 ...

    某公司测试报告1

    此外,两种环境都存在等待问题,导致Lock wait timeout exceeded错误。 **3. 自定义SQL测试** 针对特定用户场景,进行了复杂查询SQL的自定义测试。在200个线程的高并发下,Mycat的CPU占用率为400%,而9个MySQL...

    Mysql 教程之运维系列

    - 分析常见错误代码及含义,例如:Table lock wait timeout exceeded;Too many connections等。 **2. 查询日志** - **定义与作用**:查询日志记录了客户端执行的所有SQL语句。主要用于审计、故障排查以及性能...

Global site tag (gtag.js) - Google Analytics