Skips and deletes a replication error on a MySQL DB instance.
mysql.rds_skip_repl_error must be run by the master
Run the MySQL
show slave status\G command to determine if there are
errors. If a replication error is not critical, you can elect to use
mysql.rds_skip_repl_error to skip the error. If there are
mysql.rds_skip_repl_error deletes the first
error, then warns that others are present. You can then use
status\G to determine the correct course of action for the next error.
For information about the values returned, go to SHOW SLAVE
STATUS Syntax in the MySQL documentation.
For more information about addressing replication errors with Amazon RDS, see Troubleshooting a MySQL or MariaDB Read Replica Problem.
mysql.rds_skip_repl_error procedure is available in these versions
of Amazon RDS MySQL:
MySQL 5.5 version 5.5.23 and later.
MySQL 5.6 version 5.6.12 and later.
MySQL 5.7 version 5.7.10 and later
If you attempt to call
encounter the following error:
ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist,
then upgrade your MySQL DB instance to the latest minor version or one of the minimum
minor versions listed in this topic.
Slave Down or Disabled Error
When you call the
mysql.rds_skip_repl_error command, you might receive the following error message:
Slave is down or disabled.
This error message appears because replication has stopped and could not be restarted.
If you need to skip a large number of errors, the replication lag can increase beyond the default
retention period for binary log files. In this case, you might encounter a fatal error due to binary
log files being purged before they have been replayed on the replica. This purge causes replication to
stop, and you can no longer call the
mysql.rds_skip_repl_error command to
skip replication errors.
You can mitigate this issue by increasing the number of hours that binary log files are
retained on your replication master. After you have increased the binlog retention time,
you can restart replication and call the
mysql.rds_skip_repl_error command as needed.
To set the binlog retention time, use the mysql.rds_set_configuration procedure and specify a configuration parameter of 'binlog retention hours' along with the number of hours to retain binlog files on the DB cluster, up to 720 (30 days). The following example sets the retention period for binlog files to 48 hours:
CALL mysql.rds_set_configuration('binlog retention hours', 48);