Aurora MySQL 数据库日志记录
Aurora MySQL 日志提供有关数据库活动和错误的基本信息。通过启用这些日志,您可以识别和排查问题,了解数据库性能并审计数据库活动。我们建议您为所有 Aurora MySQL 数据库实例启用这些日志,来确保数据库的最佳性能和可用性。可以启用以下类型的日志记录。每个日志都包含特定的信息,这些信息可以揭示对数据库处理的影响。
-
错误 – Aurora MySQL 仅在启动、关闭和遇到错误时,才向错误日志写入内容。数据库实例可以运行数小时或者数天,而不向错误日志中写入新项。如果看不到最近的条目,则原因是服务器未遇到导致生成日志条目的错误。默认情况下,启用错误日志记录。有关更多信息,请参阅 Aurora MySQL 错误日志。
-
常规 - 常规日志提供有关数据库活动的详细信息,包括数据库引擎执行的所有 SQL 语句。有关启用常规日志记录和设置日志记录参数的更多信息,请参阅 Aurora MySQL 慢速查询日志和一般日志和 MySQL 文档中的 The general query log
。 注意
常规日志可能会增长到非常大,并占用您的存储空间。有关更多信息,请参阅 Aurora MySQL 的日志轮换和保留。
-
慢速查询 – 慢速查询日志包含运行时间超过 long_query_time
秒且需要至少检查 min_examined_row_limit 行的 SQL 语句。您可以使用慢速查询日志来查找运行时间长、因而适合进行优化的查询。 long_query_time
的默认值是 10 秒。我们建议您从较高的值开始来确定最慢的查询,然后逐渐向下进行微调。您也可以使用相关参数,例如
log_slow_admin_statements
和log_queries_not_using_indexes
。将rows_examined
与rows_returned
进行比较。如果rows_examined
比rows_returned
大得多,则这些查询可能会被阻止。在 Aurora MySQL 版本 3 中,您可以启用
log_slow_extra
来获取更多详细信息。有关更多信息,请参阅 MySQL 文档中的 Slow query log contents。您还可以在会话级别修改 long_query_time
,以便以交互方式调试查询执行,这在全局启用log_slow_extra
时尤其有用。有关启用慢速查询日志记录和设置日志记录参数的更多信息,请参阅 Aurora MySQL 慢速查询日志和一般日志和 MySQL 文档中的 The slow query log
。 -
审计 - 审计日志监控并记录数据库活动。Aurora MySQL 的审计日志记录称为高级审计。要启用高级审计,应设置某些数据库集群参数。有关更多信息,请参阅 在 Amazon Aurora MySQL 数据库集群中使用高级审计。
-
二进制 – 二进制日志(binlog)包含描述数据库更改的事件,例如表创建操作和对表数据的更改。它还包含可能已进行更改的语句的事件(例如,不匹配任何行的 DELETE
),除非使用基于行的日志记录。二进制日志还包含有关更新数据的每条语句所花时间的信息。 在启用了二进制日志记录的情况下运行服务器会使性能稍微下降。但是,二进制日志使您能够设置复制和执行还原操作,所带来的好处通常会超过这一轻微的性能下降。
注意
Aurora MySQL 不需要使用二进制日志记录来执行还原操作。
有关启用二进制日志记录和设置二进制日志格式的更多信息,请参阅配置 Aurora MySQL 二进制日志记录以及 MySQL 文档中的 The binary log
。
您可以将错误日志、常规日志、慢速日志、查询日志和审计日志发布到 Amazon CloudWatch Logs。有关更多信息,请参阅 将数据库日志发布到 Amazon CloudWatch Logs。
另一个用于汇总慢速日志文件、常规日志文件和二进制日志文件的有用工具是 pt-query-digest