我有一个小型的网络/邮件服务器,上面有apache/mariadb。上周我们修改了一些WWW代码,为了让它正常工作,我修改了php.ini行:
max_input_vars to 5000 (now 4000, it was 1000 at the start)
它似乎改变了一些东西,因为我们的mariadb 10.3.28开始出现问题。它只是停止接收任何信息。重新启动mysql(和httpd)帮助现在24小时...日志:
2022-10-05 14:28:58 2796199 [Warning] Aborted connection 2796199 to db: 'ACTIVEDB' user: 'USER' host: 'localhost' (Got an error reading communication packets)
这种警告有时会出现,但现在我们每小时都会收到几十个。
在PHP中我减少了max_input_vars,在我的.cnf中我增加了dd
max_allowed_packet = 124M
max_connections = 400
log_warnings = 3
一切都是在默认值之前。日志级别是一段时间在4级,但它开始变得太大,没有任何时间给“粉碎”。磁盘是nvme 500 GB,英特尔和显示没有问题。我想听到:
- 如何检查/连接mariadb时,它看起来不活动
- 检查内容和方法(逐步)
谢谢大家
2条答案
按热度按时间brgchamk1#
这不是一个答案,但太长的评论。
如果客户端断开连接之前未向服务器发送COM_CLOSE通知,则会出现“Aborted connection...(读取通信数据包时出错)”错误。
此行为很容易重现,例如,通过启动命令行客户端并从另一个会话中删除命令行客户端。根据log_warning级别,服务器将写入一个日志条目并增加服务器状态变量
aborted_clients
(或aborted_connects
,如果这发生在连接握手期间)。以下是几个可能的原因:
4szc88ey2#
我想感谢您的建议和您的时间。看起来有一个表的问题,我不知道如何/为什么,但一段时间后,它被设置为只读。日志中没有关于它的信息,直到第3级(第4级为我生成了太多的信息:()数据库工作了一段时间罚款(预计一个表),并在时间看起来像它只是挂起整个数据库。该案件仍在“调查中”。
关于“损坏”表:
如果有人知道如何检查表将是伟大的(标准操作,如检查,分析什么都没有)。
再次感谢。