将 MySQL 日志输出发送到表
可通过创建数据库参数组并将 log_output
服务器参数设置为 TABLE
,将一般日志和慢速查询日志引向数据库实例上的表。系统随后会将一般查询记录到 mysql.general_log
表,并将慢速查询记录到 mysql.slow_log
表。可以查询表来访问日志信息。启用此日志记录功能会增加写入数据库的数据量,导致性能降低。
默认情况下,一般日志和慢速查询日志处于禁用状态。要启用将日志记录到表的功能,必须将 general_log
和 slow_query_log
服务器参数设置为 1
。
日志表将不断增大,直至通过将相应的参数重置为 0
来关闭相应的日志记录活动。随着时间的推移,通常会累积大量的数据,这些数据会占用相当大比例的分配存储空间。Amazon RDS 不允许截断日志表,但可以移动其中的内容。表的交替会将表的内容保存到备份表,然后创建一个新的空日志表。可用以下命令行过程手动轮换日志表,其中 PROMPT>
表示命令提示符:
PROMPT> CALL mysql.rds_rotate_slow_log; PROMPT> CALL mysql.rds_rotate_general_log;
要完全移除旧数据并回收磁盘空间,请连续两次调用相应的程序。