如何在Amazon RDS上禁用innodb_doublewrite for MySQL?

如何在Amazon RDS上禁用innodb_doublewrite for MySQL?,mysql,amazon-web-services,amazon-rds,Mysql,Amazon Web Services,Amazon Rds,请任何人帮我禁用亚马逊RDS托管的MySQL数据库的“innodb_doublewrite”。我需要这个,因为我们需要快速更新大约1500万行 我知道这有一个启动选项: --skip-innodb_doublewrite 但是如何使用它呢 除此之外,Amazon RDS参数组不显示“innodb_doublewrite”选项进行编辑。亚马逊也不允许直接编辑my.cnf文件 我可以通过Linux服务器访问MySQL。但不知道如何使用亚马逊RDS的启动选项。有谁能帮我禁用此选项吗?RDS是一种托管

请任何人帮我禁用亚马逊RDS托管的MySQL数据库的“innodb_doublewrite”。我需要这个,因为我们需要快速更新大约1500万行

我知道这有一个启动选项:

--skip-innodb_doublewrite
但是如何使用它呢

除此之外,Amazon RDS参数组不显示“innodb_doublewrite”选项进行编辑。亚马逊也不允许直接编辑
my.cnf
文件


我可以通过Linux服务器访问MySQL。但不知道如何使用亚马逊RDS的启动选项。有谁能帮我禁用此选项吗?

RDS是一种托管数据库服务,它为直接在EC2上管理数据库提供了一些抽象,但在exchange中,您失去了一些灵活性,包括可以应用于数据库实例的选项

通常在my.cnf中指定的所有启动参数应通过RDS参数组应用,但正如您在问题中提到的,
innodb_doublewrite
不是可配置参数之一


如果您正在更新的数据在正常操作期间不太可能更新,您可以尝试在读从机上进行更新(
SET GLOBAL read_ONLY=0
),然后升级读副本并将应用程序指向此实例

截至2015年8月2日,AWS支持部门确认了以下内容:


“无法在RDS MySQL实例中修改innodb\u doublewrite”

READ\u ONLY已设置为OFF。这是否会导致更快的写入?默认情况下,您的读从机将设置为只读,因此只有具有超级权限的用户才能对其进行写入。我的建议是让你的1500万次更新成为一个不服务于任何流量的只读从机,然后在更新完成后进行升级。主应用程序的更新应继续复制到您正在更新的实例中,因此唯一的中断将出现在升级期间以及您将应用程序指向新实例时。噢,非常感谢:)我一直在寻找如何禁用它。也许他们会这么想;禁用“innodb_doublewrite”是不安全的。这在技术上是不安全的,因为这会阻止MySQL执行事务。如果您知道不需要逻辑回滚,只需要在磁盘刷新失败时回滚,那么文件系统可能会覆盖您(取决于您使用的文件系统),但您没有任何保证。在生产系统中,这绝对不是长时间禁用的。@sadasivaUlaka,是的,他们添加了“启用此参数可能会对数据持久性造成严重后果,参考:”。当然,这在很大程度上取决于您的用例。