我收到“Got an error reading communication packets”错误。我想解决 Amazon Relational Database Service(Amazon RDS)for MySQL 或 Amazon Aurora MySQL 兼容版数据库实例中的这个错误。
简短描述
如果服务器客户端连接断开、不正确关闭或连接不成功,则 Amazon RDS 会增加 aborted_clients 或 aborted_connects 的状态计数器。aborted_clients 参数描述的是:由于客户端在失效前未正确关闭连接而导致连接中止的次数。aborted_connects 参数描述的是:尝试连接 MySQL 服务器的失败次数。
log_error_verbosity 指定处理错误日志事件的详细程度。如果此参数的值超过值 2,则 RDS for MySQL 会将此信息写入您的错误日志:
[Warning] Aborted connection xxx to db: '<database name>' user: '<user name>' host: '<host IP>' (Got an error reading communication packets)
每当 aborted_clients 或 aborted_connects 指标值的状态计数器增加时,就会触发此警告。Amazon RDS 使用数据库错误日志来检索此信息。有关更多信息,请参阅 MySQL 服务器网站上的 Communication Errors and Aborted Connections。
可能触发连接中止警告的因素包括但不限于:
解决方法
如果您在 RDS for MySQL 或 Aurora MySQL 兼容版中收到连接中止错误,请务必查看您的 MySQL 参数值。确定问题的根本原因后,更新参数并测试新值,同时监控 MySQL 错误日志。
在故障排除 Amazon RDS 中的连接中止错误时,请考虑以下方法:
故障排除提示
如果您仍然收到连接中止错误消息,请尝试按以下故障排除提示操作:
sudo tcpdump -vvv --interface eth0 port 3306 -W 10 -C 100
相关信息
如何修改 Amazon RDS 数据库参数组中的值?
为什么 RDS 数据库实例上的数据库连接断开了?
如何在 Aurora Serverless 集群上启用日志,以便查看和下载日志?