SET GLOBAL sql_slave_skip_counter = N
This statement skips the next N
events from the master. This is useful for recovering from replication stops caused by a statement.
If multi-source replication is used, this statement applies to the default connection. It could be necessary to change the value of the default_master_connection
server system variable.
Note that, if the event is a transaction, the whole transaction will be skipped. With non-transactional engines, an event is always a single statement.
This statement is valid only when the slave threads are not running. Otherwise, it produces an error.
The statement does not automatically restart the slave threads.
SHOW SLAVE STATUS \G ... SET GLOBAL sql_slave_skip_counter = 1; START SLAVE;
Multi-source replication:
SET @@default_master_connection = 'master_01'; SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE;
sql_slave_skip_counter
can't be used to skip transactions on a slave if GTID replication is in use and if gtid_slave_pos
contains multiple gtid_domain_id
values. In that case, you'll get an error like the following:
ERROR 1966 (HY000): When using parallel replication and GTID with multiple replication domains, @@sql_slave_skip_counter can not be used. Instead, setting @@gtid_slave_pos explicitly can be used to skip to after a given GTID position.
In order to skip transactions in cases like this, you will have to manually change gtid_slave_pos
.
© 2019 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/set-global-sql_slave_skip_counter/