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, appelé sans option, démarre
les deux threads esclaves. Le thread I/O lire les requêtes du
maître et les stocke dans le log de relais. Le thread SQL
lire le log de relais, et exécute les requêtes. Notez que si
START SLAVE réussi à lancer le thread
esclave, elle se terminera sans erreur. Mais même dans ce
cas, il se peut que le thread esclave se lance, puis s'arrête
(car il n'a pas pu se connecter au maître, ou lire le log
binaire ou tout autre problème). START
SLAVE ne vous préviendra pas de cet événement.
Vous devez vérifier le log d'erreur de l'esclave pour voir si
des messages ont été générés, ou encore vérifier que
tout fonctionne avec la commande SHOW SLAVE
STATUS.
Depuis MySQL 4.0.2, vous pouvez ajouter les options
IO_THREAD ou SQL_THREAD
à la commande, pour nommer les threads que vous lancez.
Depuis MySQL 4.1.1, une clause UNTIL peut
être ajoutée pour spécifier que l'esclave doit commencer à
un certain point dans le log binaire, ou dans le log de
relais. Lorsque le thread SQL atteint ce point, il s'arrête.
Si l'option SQL_THREAD est spécifiée dans
la commande, seule le thread SQL est lancé. Sinon, les deux
threads sont lancés. Si le thread SQL est déjà lancé, la
clause UNTIL est ignorée, et une alerte
est émise.
Avec la clause UNTIL, vous devez spécifier
à la fois un fichier de log et une position. Ne confondez pas
les options du maître et celles du log de relais.
Toute condition UNTIL est annulée par une
commande STOP SLAVE, ou une commande
START SLAVE qui n'inclut pas de condition
UNTIL, ou encore un redémarrage serveur.
La clause UNTIL peut être utile pour
déboguer la réplication, ou pour vous assurer que la
réplication s'effectue jusqu'à un certain point. Par
exemple, si une commande imprudente DROP
TABLE a été exécutée sur le maître, vous pouvez
utiliser la clause UNTIL pour dire à
l'esclave de s'exécuter jusqu'à ce moment, puis de
s'arrêter. Pour trouver cet événement, utilisez
l'utilitaire mysqlbinlog sur le log du
maître, ou sur le log de relais, ou encore utilisez la
commande SHOW BINLOG EVENTS.
Si vous utilisez la clause UNTIL pour faire
des réplications par portions, il est recommandé de lancer
l'esclave avec l'option --skip-slave-start
pour éviter que le thread SQL ne se lance lorsque l'esclave
se lance. Il est probablement idéale d'utiliser cette option
dans un fichier d'options plutôt qu'en ligne de commande,
pour qu'un redémarrage intempestif ne l'oublie pas.
La commande SHOW SLAVE STATUS affiche un
champ qui indique la valeur courante de la clause
UNTIL.
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.
