16

如何从 Amazon RDS 实例访问 MySQL 日志(主要是查看插入/更新/删除语句)?

4

2 回答 2

17

基本上,您必须在 RDS 实例的参数组中启用“general_log”参数

$ rds-modify-db-parameter-group mydbparametergroup --parameters "name=general_log,value=ON,method=immediate" 

如果您没有将参数组应用于实例:

$ rds-modify-db-instance mydbinstance  --db-parameter-group-name mydbparametergroup

然后使用 root 访问您的 mysql 实例:

mysql> select * from mysql.general_log;

看:

AWS 开发者论坛 - 回复:一般查询日志

AWS RDS - 使用数据库参数组

于 2012-01-04T07:33:46.343 回答
16

编辑:自从我发布这个答案以来已经过去了 4 年,它似乎仍然有效。我希望来自 Amazon RDS 文档团队的人会阅读它并更新他们的文档。


我很难弄清楚这么简单的事情,因为这方面的所有在线信息似乎都已经过时,包括 Amazon Docs 中的信息。亚马逊显然已经改变了你做事的方式,因为现在默认参数无法修改,你需要创建一组自定义参数来修改它们,包括 general_log。这是一个明显的错误,您仍然可以单击默认参数的编辑按钮,但是当您尝试保存它们时,您会收到无法更改默认参数的错误。

在此处输入图像描述

您现在的做法是,在“参数组”中,单击“创建数据库参数组”,然后创建一个新组并在“数据库参数组系列”中选择与默认参数组中相同的数据库。请参阅随附的屏幕截图。完成后,它将创建一个与默认参数组相同的副本。现在编辑参数,例如将general_log 更改为“1”。根据文档,默认情况下应为“0”,但默认情况下既不是“0”也不是“1”。

现在保存它,返回到您的实例,单击“实例操作”,选择“修改”,然后在将出现的设置中,将“参数组”更改为新的自定义参数组。应用它需要一些时间,之后您需要重新启动数据库实例。

直到 2014 年 6 月都是这样。但不能保证它在未来也会保持这种状态,因为在技术行业中,事情总是更新得太快(很多时候是不必要的),但文档和教程却没有得到更新一样快。

于 2014-06-02T11:45:04.380 回答