翔云

Just try, don't shy. 最新文章请点击
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mysql 主从复制--启动操作start slave, stop slave

Posted on 2018-12-08 23:13  翔云123456  阅读(12940)  评论(0编辑  收藏  举报

在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 event
                  Master_Host: 127.0.0.1
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000007
          Read_Master_Log_Pos: 194
               Relay_Log_File: relay-bin.000005
                Relay_Log_Pos: 407
        Relay_Master_Log_File: mysql-bin.000007
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
... ...

sql 线程 追到 MASTER_LOG_FILEMASTER_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线程的操作。

参考

https://dev.mysql.com/doc/refman/5.6/en/start-slave.html
https://dev.mysql.com/doc/refman/5.6/en/stop-slave.html