美文网首页
程序报错try restarting transaction,m

程序报错try restarting transaction,m

作者: 马木木 | 来源:发表于2020-01-16 11:34 被阅读0次

    今天早上发现浏览器请求一直pending,请求过很久才得到返回结果,报

    Lock wait timeout exceeded; try restarting transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction"
    

    一开始以为程序死锁,但是kill时候一直出错,最后Connection refused: connect,在平台上发现报警日志文件已满

    下边记录请求日志文件三部曲(当然是在还能正常连接数据库的前提下),否则只能找运维同学手动删除啦

    第一步

    show binary logs;

    image.png

    查看所有的日志文件

    第二步

    show master status;

    image.png

    查看正在使用的日志文件

    第三步

    purge binary logs to 'mysql-bin.000021'

    删除除了正在使用的日志文件外的所有日志文件

    当然大名鼎鼎的Mysql肯定有自动删除的功能

    1.找到mysql的配置文件,新增或者更新参数

    expire_logs_days=10
    

    2.临时使用也可以直接用命令设置,但是数据库重启会失效

    show variables like '%logs%';
    set global expire_logs_days = 10;
    

    10代表十天

    查看binlog日志的内容

    SHOW BINLOG EVENTS IN 'mysql-bin.000002'
    
    image

    相关文章

      网友评论

          本文标题:程序报错try restarting transaction,m

          本文链接:https://www.haomeiwen.com/subject/mlrfzctx.html