1

I created RDS on AWS and created MySQL v5.7 instance. I tried to find the binlog_format settings in parameter group but it seems to me that there are only three possible settings - like the screenshot below:

https://www.ithome.com.tw/news/83545

But the AWS document mentioned that there is a way to turn off the binlog_format. It said

Set the binlog_format parameter to the binary logging format of your choice (ROW, STATEMENT, or MIXED). You can also use the value OFF to turn off binary logging.

But the OFF setting is just not on the screenshot above. So I am a bit confused.

Thanks everyone for help =)

Winston
  • 115
  • 5

1 Answers1

3

When it comes to RDS, you may not see OFF as an option because doing automated backups requires binary logging.

Inside the mysql.rds_set_configuration say this

For RDS for MySQL, NULL means binary logs are not retained (0 hours).

For Aurora MySQL, NULL means binary logs are cleaned up lazily. Aurora MySQL binary logs might remain in the system for a certain period, usually not longer than a day.

If you want to logically disable binary logging, you can set that manually like this

mysql> CALL mysql.rds_set_configuration('binlog retention hours', NULL);

NULL is the default retention hours. See AWS Docs on this. Also, I wrote about this 4 years ago (See my answer to enabling BINARY LOG on AWS RDS MySQL)

CAPTAIN's LOG SUPPLEMENTAL

Personally, I have seen the OFF option when deploying Aurora. That's because Aurora has other redundancy mechanisms which do not need binary logging. You have the option list ROW, STATEMENT, MIXED, OFF where OFF is the default for Aurora.

Setting binlog_format to something other than OFF in the DB Parameter Group allows you to set up MySQL Replication from Aurora to external servers.

With RDS, OFF should never appear as an option for the reasons I just stated.

Winston
  • 115
  • 5
RolandoMySQLDBA
  • 185,223
  • 33
  • 326
  • 536