如何记录运行 MySQL 的 Amazon RDS 实例的失败登录尝试?

上次更新时间:2019 年 12 月 12 日

出于安全目的,我想要跟踪数据库实例失败或中止的连接。如何跟踪运行 MySQL 的 Amazon Relational Database Service (Amazon RDS) 实例的失败连接尝试?

解决方案

运行 MySQL 的数据库实例的失败或中止的连接记录在 error.log 中。默认情况下,会启用与数据库实例关联的自定义数据库参数组中的 log_warnings 数据库参数,以跟踪运行 MySQL 的数据库实例的失败连接尝试。如果该值大于 1,则服务器会在尝试新连接时记录中止的连接和访问被拒绝错误。

如果用户尝试使用错误的凭证登录数据库实例,失败的尝试会记录到 error.log 中,与以下示例的格式类似:

2016-08-23 15:03:37 1183 [Warning] Access denied for user 'tester'@'124.41.31.5' (using password: NO)

注意:对于运行 MySQL 5.7.2 及更高版本的数据库实例,请使用 log_error_verbosity,而不是 log_warnings。有关更多信息,请参阅 log_error_verbosity MySQL 文档。

最佳实践是启用 general_log 进行短期故障排除,完成故障排除后再将其禁用。general_log 启用后会记录执行的每个查询,导致因大量工作负载而使生产数据库实例负担巨大开销。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?