...
Decode the logfile
sudo mysqlbinlog --base64-output=decode-rows /var/log/mysql/{mysql-bin_file_from_error} > /tmp/someTempFile.sql
(binlogs are only readable by mysql user & group).Search for the position by the number in the error. From that point in the file you can find the next position by searching forward for
end_log_pos
.Update the
binlog_position
field inmaxwell
.positions
to move where the cdc will try to resume. I initially tried the first but this was also a problem. It may be that anything in the same transaction will also be an issue.
Misc thoughts:
It’s not appropriate for production without taking lots of mitigating actions (i.e. what to do about the transactions that haven’t been forwarded).