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
sem nenhuma opção inicia
ambas as threads slaves. A thread de E/S lêem as consultas do
servidor master e as armazena no relay logs. A thread de SQL
le o relay log e executa a consulta. Note que se
START SLAVE
obter sucesso no
inicialização da thread slave ela retornará sem qualquer
erro. Mas mesmo neste caso pode ser que a thread slave iniciou
e parou mais tarde (por que elas não conseguiram se conectar
ao master ou leram o seu log binário ou qualquer outro
problema). START SLAVE
não lhe avisará
sobre insto. Você deverá verifica seu arquivo log de erro do
slave por mensagens de erro gerada pela thread slave, ou
verificar que eles estão rodando bem com SHOW SLAVE
STATUS
.
A partir do MySQL 4.0.2, você pode adicionar as opções
IO_THREAD
ou SQL_THREAD
à instrução a ser chamada quando a thread iniciar.
A partir do MySQL 4.1.1, uma cáusula UNTIL
pode ser adicionada para especificar que o slave deve iniciar
até que a thread de SQL alcance um determinado ponto no log
binário dp master ou no relay log do slave. Quando a thread
SQL alcança este ponto, ela para. Se a opção
SQL_THREAD
é especificada na instrução,
ela inicia apenas a thread de SQL. Senão, ela inicia ambas as
threads slaves. Se a thread SQL já estiver em execução, a
claúsula UNTIL
é ignorada e um aviso é
enviado.
Com uma cláusula UNTIL
, você deve
especificar tanto uma nome de arquivo de log quanto uma
posição. Não misture opções do master e do relay logs.
Qualquer condição UNTIL
é restaurada por
uma instrução STOP SLAVE
subsequente, ou
uma instrução START SLAVE
que não
incluir a cláusula UNTIL
, ou um servidor
reinicie.
A cláusula UNTIL
pode ser útil para
depurar a replicação, ou para fazer com que a replicação
proceda até um pouco antes do ponto que você deseja evitar
que o slave replique uma instrução. Por exemplo, se uma
instrução DROP TABLE
foi executada no
master, você pode usar UNTIL
para dizer ao
slave para executar até aquele ponto, mas não depois. Para
encontrar qual é o evento, use mysqlbinlog
com o log do master ou o relay logs, ou usando uma instrução
SHOW BINLOG EVENTS
.
Se você estiver usando UNTIL
para ter o
processo slave replicando consultas nas seções, é
recomendado que você inicie o slave com a opção
--skip-slave-start
para evitar que a thread
de SQL execute quando o slave iniciar. É provavelmente melhor
usar esta opção em um arquivo de opção em vez de usá-la
na linha de comando, assim uma reinicialização inesperada do
servidor não faz com que isso seja esquecido.
A instrução SHOW SLAVE STATUS
inclui
campos na saída que mostram o valor atual da condição
UNTIL
.
Este comando é chamado SLAVE START
antes
do MySQL 4.0.5. No momento, SLAVE START
ainda é aceito para compatibilidade com versões anteriores,
mas está obsoleto.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.