如何从RDS实例访问mysql日志

pri*_*iya 16 mysql amazon-rds

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

use*_*217 17

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

$ rds-modify-db-parameter-group mydbparametergroup --parameters "name=general_log,value=ON,method=immediate" 
Run Code Online (Sandbox Code Playgroud)

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

$ rds-modify-db-instance mydbinstance  --db-parameter-group-name mydbparametergroup
Run Code Online (Sandbox Code Playgroud)

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

mysql> select * from mysql.general_log;
Run Code Online (Sandbox Code Playgroud)

看到:

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

AWS RDS - 使用数据库参数组

  • 对于使用Web界面的用户,请转到`paramater groups`,搜索`general`,然后点击`edit paramaters`. (4认同)

zee*_*han 16

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


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

在此输入图像描述

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

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

这就是2014年6月之前的情况.但是不能保证它在未来也会保持这样,因为在技术行业,事情变得太快(很多次不必要)但文档和教程没有得到更新一样快.