DMS insists on binary logging even when enabled

0

Hi there,

I want to run a DMS task for RDS MySQL > RDS MySQL, I followed this and everything else so far: https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.AmazonManaged

Both Serverless Replications and Database Migration tasks exit with: Last Error Failed in resolving configuration. Stop Reason FATAL_ERROR Error Level FATAL

When I check the logs for lines with "]E", I see these:

[SOURCE_CAPTURE ]E: Error Code [10001] : Binary Logging must be enabled for MySQL server [1020418] (mysql_endpoint_capture.c:424)
[SOURCE_CAPTURE ]E: Errors in MySQL server validation. Follow all prerequisites for 'MySQL as a source in DMS' from https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html or'MySQL as a target in DMS' from https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html [1020418] (mysql_endpoint_imp.c:767)
[TASK_MANAGER ]E: Failed while preparing stream component 'st_0_IKCW6LYMWQRABPTRL3ANNKB2U6X6O554Q5IML7I'. [1020418] (subtask.c:868)
[TASK_MANAGER ]E: Cannot initialize subtask [1020418] (subtask.c:1337)
[SOURCE_CAPTURE ]E: Stream component 'st_0_IKCW6LYMWQRABPTRL3ANNKB2U6X6O554Q5IML7I' terminated [1020418] (subtask.c:1621)

Automated backups enabled with 7 day retention (I can see the snapshots). My source instance parameters below are as documented: binlog_checksum NONE binlog_format ROW binlog_row_image full log-bin /rdsdbdata/log/binlog/mysql-bin-changelog

The last one is suspicious, as there is this log before error lines:

System variable 'log_bin' = ''

I also receive nothing when I try to SHOW VARIABLES etc as root MySQL user.

log-bin and log_bin may not be the same in this configuration? Any ideas – I tried everything and got stuck here.

Here is a screenshot of the related logs

3 Answers
0

Have you checked if binlogs are retained? The below command gives the output for binlog retention enabled or not. If it i snot enabled it will return as null.

CALL mysql.rds_show_configuration;

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-stored-proc-configuring.html#mysql_rds_show_configuration

For DMS CDC to work, binlog must be retained atleast to 24hours. Also is your source a read replica? if it is then you need to make sure log_slave_updates parameter is set to TRUE.

Noorul
answered 4 months ago
  • Indeed! "binlog retention hours" is set to 24. I can already see 309 binlogs like mysql-bin-changelog.999433 (mostly size of 544) via SHOW BINARY LOGS query. My instance is a single primary read/write instance.

0

Could you please check and share the output of below command,

show global variables like "log_bin";

Noorul
answered 4 months ago
  • show global variables or show variables both return totally empty...

0

Could you check if your custom parameter group is in sync or pending reboot in your source RDS. If it is pending reboot, try rebooting the instance during your maintenance time. Also what is your source mysql version?

Show variables returning empty seems to be not normal, when binlogs are enabled correctly log_bin variable return as ON.

https://dev.mysql.com/doc/mysql-replication-excerpt/5.7/en/replication-options-binary-log.html#sysvar_log_bin

Noorul
answered 4 months ago
  • I was also surprised to see my variables are always empty; in all docs/forums, i see it filled with values. Instance has both option group and parameter group in sync, I rebooted the instance previously.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions