SQL Statements for Controlling Replica Servers replica operates in single-threaded (sequential) mode for replication until the point specified by the  UNTIL clause is reached. Any  UNTIL  condition is reset by a subsequent  STOP REPLICA | SLAVE  statement, a  START REPLICA | SLAVE  statement that includes no  UNTIL  clause, or a server restart. When specifying a log file and position, you can use the  IO_THREAD  option with  START REPLICA | SLAVE ... UNTIL  even though only the SQL thread is affected by this statement. The  IO_THREAD option is ignored in such cases. The preceding restriction does not apply when using one of the GTID options ( SQL_BEFORE_GTIDS  and  SQL_AFTER_GTIDS ); the GTID options support both  SQL_THREAD  and IO_THREAD , as explained previously in this section. The  UNTIL  clause can be useful for debugging replication, or to cause replication to proceed until just before the point where you want to avoid having the replica replicate an event. For example, if an unwise DROP TABLE  statement was executed on the source, you can use  UNTIL  to tell the replica to execute up to that point but no farther. To find what the event is, use  mysqlbinlog  with the source’s binary log or the replica’s relay log, or by using a  SHOW BINLOG EVENTS  statement. If you are using  UNTIL  to have the replica process replicated queries in sections, it is recommended that you start the replica with the  --skip-slave-start  option, or from MySQL 8.0.24, the skip_slave_start  system variable, to prevent the SQL thread from running when the replica server starts. Remove the option or system variable setting after the procedure is complete, so that it is not forgotten in the event of an unexpected server restart. The  SHOW REPLICA | SLAVE STATUS  statement includes output fields that display the current values of the  UNTIL  condition. 13.4.2.8 START SLAVE | REPLICA Statement START {SLAVE | REPLICA} [ thread_types ] [ until_option ] [ connection_options ] [ channel_option ] thread_types : [ thread_type  [,  thread_type ] ... ] thread_type : IO_THREAD | SQL_THREAD until_option : UNTIL { {SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS} =  gtid_set | MASTER_LOG_FILE = ’ log_name ’, MASTER_LOG_POS =  log_pos | SOURCE_LOG_FILE = ’ log_name ’, SOURCE_LOG_POS =  log_pos | RELAY_LOG_FILE = ’ log_name ’, RELAY_LOG_POS =  log_pos | SQL_AFTER_MTS_GAPS } connection_options : [USER=’ user_name ’] [PASSWORD=’ user_pass ’] [DEFAULT_AUTH=’ plugin_name ’] [PLUGIN_DIR=’ plugin_dir ’] channel_option : FOR CHANNEL  channel gtid_set : uuid_set  [,  uuid_set ] ... | ’’ uuid_set : uuid : interval [: interval ]... uuid : hhhhhhhh - hhhh - hhhh - hhhh - hhhhhhhhhhhh h : 2779