如何记录登录我的 Amazon RDS for MySQL 数据库实例的失败尝试?

1 分钟阅读
0

出于安全考虑,我想跟踪我的 Amazon Relational Database Service (Amazon RDS) for MySQL 数据库实例的连接失败或断开情况。

解决方法

当与运行 MySQL 的数据库实例的连接失败或断开时,error.log中会记录连接尝试 。默认情况下,自定义数据库参数组中与数据库实例关联的 log_warnings 数据库参数处于启用状态。此参数跟踪连接到运行 MySQL 的数据库实例的失败尝试。如果 log_warnings 的值大于 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。有关详细信息,请参阅 MySQL 文档中的 log_error_verbosity

最佳做法是启用 general_log 进行短期错误排除,然后在完成错误排除后再将其禁用。启用后,general_log 会记录运行的每个查询,因此工作负载会很大,会使生产数据库实例负担巨大的开销。

相关信息

监控 Amazon RDS 日志文件

MySQL 文档中的服务器系统变量