在MySQL配置主从关系时,会用到start slave, stop slave命令,本文简单介绍两个命令的使用方法和作用。
start slave
mysql> start slave
不带任何参数,表示同时启动I/O 线程和SQL线程。
相当于:
mysql > start slave sql_thread;mysql > start slave io_thread;
I/O线程从主库读取bin log,并存储到relay log中继日志文件中。
SQL线程读取中继日志,解析后,在从库重放。
until
选项的使用
以binlog 日志位点为例:
mysql> start slave until MASTER_LOG_FILE='mysql-bin.000007',MASTER_LOG_POS=194;Query OK, 0 rows affected (0.00 sec)mysql> show slave status\G*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 127.0.0.1Master_User: repMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000007Read_Master_Log_Pos: 194Relay_Log_File: relay-bin.000005Relay_Log_Pos: 407Relay_Master_Log_File: mysql-bin.000007Slave_IO_Running: YesSlave_SQL_Running: No... ...
sql 线程 追到MASTER_LOG_FILE
、MASTER_LOG_POS
指定的位置,sql 线程会自动停止。
从show slave status
的输出中可以看到,sql 线程已停止,而io 线程正常执行。
until
中也支持GTID,不要将log file与GTID方式混用。
stop slave
类似的,
mysql> stop slave
相当于
mysql > stop slave sql_thread;mysql > stop slave io_thread;
完成停止I/O 线程和SQL线程的操作。
参考
/doc/refman/5.6/en/start-slave.html
/doc/refman/5.6/en/stop-slave.html