[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
START SLAVE
START SLAVE [thread_name [, thread_name] ... ] START SLAVE [SQL_THREAD] UNTIL MASTER_LOG_FILE = 'log_name', MASTER_LOG_POS = log_pos START SLAVE [SQL_THREAD] UNTIL RELAY_LOG_FILE = 'log_name', RELAY_LOG_POS = log_pos thread_name = IO_THREAD | SQL_THREAD |
START SLAVE
with no options starts both of the slave threads.
The I/O thread reads queries from the master server and stores them in the
relay log. The SQL thread reads the relay log and executes the
queries.
Note that if START SLAVE
succeeds in starting the slave threads it
will return without any error. But even in that case it might be that slave
threads start and then later stop (because they don't manage to
connect to the master or read his binlogs or any other
problem). START SLAVE
will not warn you about this. You must
check your slave's error log for error messages generated by
the slave threads, or check that these are running fine with SHOW
SLAVE STATUS
.
START SLAVE
requires the SUPER
privilege.
As of MySQL 4.0.2, you can add IO_THREAD
or SQL_THREAD
options to the statement to name which of the threads to start.
As of MySQL 4.1.1, an UNTIL
clause may be added to specify that
the slave should start until the SQL thread reaches a given point in
the master binlogs or in the slave relay logs. When the SQL thread reaches
that point, it stops. If the SQL_THREAD
option is specified in the
statement, it starts only the SQL thread. Otherwise, it starts both slave
threads. If the SQL thread is already running, the UNTIL
clause is
ignored and a warning is issued.
With an UNTIL
clause, you must specify both a log filename and
position. Do not mix master and relay log options.
Any UNTIL
condition is reset by a subsequent STOP SLAVE
statement, or a START SLAVE
statement that includes no UNTIL
clause, or a server restart.
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 slave replicated a statement. For example, if an unwise
DROP TABLE
statement was executed on the master, you can use
UNTIL
to tell the slave to execute up to that point but no farther.
To find what the event is, use mysqlbinlog
with the master logs or
relay logs, or by using a SHOW BINLOG EVENTS
statement.
If you are using UNTIL
to have the slave process replicated queries in
sections, it is recommended that you start the slave with the
--skip-slave-start
option to prevent the SQL thread from running
when the slave starts. It's probably best to use this option in an option
file rather than on the command line, so that an unexpected server restart does
not cause it to be forgotten.
The SHOW SLAVE STATUS
statement includes output fields that display
the current values of the UNTIL
condition.
This command is called SLAVE START
before MySQL 4.0.5.
For the moment, SLAVE START
is still accepted for backward
compatibility, but is deprecated.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |