今天早上发现浏览器请求一直
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;
查看所有的日志文件
第二步
show master status;
查看正在使用的日志文件
第三步
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
网友评论