aws☞rds-mysql日志

阅读量: zyh 2017-02-01 15:10:25
Categories: > Tags:

常规/错误/慢/日志

# 修改参数组
slow_query_log:要创建慢速查询日志,请设置为 1。默认值为 0。

general_log(会产生大量日志):要创建常规日志,请设置为 1。默认值为 0。

long_query_time:要防止在慢速查询日志中记录快速运行的查询,请指定需要记录的最短查询执行时间值,以秒为单位。默认值为 10 秒;最小值为 0。
如果 log_output = FILE,则可以指定精确到微秒的浮点值, 即可记录 0.1s
如果 log_output = TABLE,则必须指定精确到秒的整数值。
系统只记录执行时间超过 long_query_time 值的查询。

log_queries_not_using_indexes(会产生大量日志):要将所有不使用索引的查询记录到慢速查询日志,请设置为 1。默认值为 0。将记录不使用索引的查询,即使它们的执行时间小于 long_query_time 参数的值。

log_output option:您可为 log_output 参数指定下列选项之一。

TABLE(默认, 不建议, 影响数据库本身性能)– 将一般查询写入 mysql.general_log 表,将慢速查询写入 mysql.slow_log 表。

FILE(推荐,也是必须,否则无法推送到cloudwatch)– 将一般查询日志和慢速查询日志写入文件系统。日志文件每小时轮换一次。默认记录24小时.

NONE– 禁用日志记录

审计日志

# 修改选项组, 添加额外选项
MARIADB_AUDIT_PLUGIN 

二进制日志

二进制日志一般我们用来恢复数据, 默认 rds 会尽量销毁二进制日志, 来保留磁盘可用空间.

二进制日志默认格式是 mixed

配置二进制日志的方法:

# 将二进制日志保留24小时
call mysql.rds_set_configuration('binlog retention hours', 24);

访问二进制日志的方法如下:

mysqlbinlog \
    --read-from-remote-server \
    --host=<mysql_rds_instance_address> \

    --port=<mysql_port> \

    --user ReplUser \
    --password \
    --raw \
    --result-file=/tmp/ \
    binlog.00098
  • 指定 --read-from-remote-server 选项。

  • --host:指定该实例所在的终端节点中的 DNS 名称。

  • --port:指定该实例使用的端口。

  • --user:指定已授予了复制从属实例权限的 MySQL 用户。

  • --password:指定用户的密码,或忽略密码值以让实用程序提示您输入密码。

  • 要按二进制格式下载文件,请指定 --raw 选项。

  • --result-file:指定用于接收原始输出的本地文件。

  • 指定一个或多个二进制日志文件的名称。要获取可用日志的列表,请使用 SQL 命令 SHOW BINARY LOGS。

  • 要流式传输二进制日志文件,请指定 --stop-never 选项。


参考文档:

  1. https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#Appendix.MySQL.CommonDBATasks.Logs