线上的日志满了,导致系统不可,排查解决过程

报错日志打印:

Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction

发现数据库一直重复请求事务

问题分析mysql:

首先登录下数据库服务器看下,分别看下数据库的磁盘和内存情况

发现内存无异常,磁盘占用发现异常,如下:

文件使用情况命令:df -h

home目录下占用满了,那么进入home文件夹,

查看具体文件从大到小排序命令:ls -lhS --sort=size

一层一层发现是mysql的日志满了,导致写数据sql日志写不进去了

 

mysql日志解决问题:

临时处理方案1:但是后续还会再生成sql

清空文件日志命令: > genertal.log  (>为清理命令,不用重启mysql)

永久处理方案2:需要重启mysql

设置关闭sql日志:SET global general_log = 'OFF';

日志分段方案3:

通过日志工具只保留一周的日志

题外话:sql 慢查询日志:排查上线后哪些sql是执行比较慢的,根据这些sql进行优化

问题分析业务系统日志:

同上述方法,根据df -h 以及 ls -lhS --sort=size排序命令,找到是系统日志文件爆满,

 系统日志解决方案:

将系统日志用日志工具保留一周的日志,要注意的是,当生产环境中日志的级别一定要调高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值