Redis学习_11_主从复制_建立连接

主从复制整体流程

主从复制的整体流程可以分为3个阶段:

  1. 建立连接阶段:由slave向master发起,建立与master之间的连接,master保存slave的端口号。
  2. 数据同步阶段:master与slave建立连接后,master需要把目前已有的数据同步到slave机器上。
  3. 命令传播阶段:数据同步之后,master后续的写数据的命令同样也要同步给slave。
    Redis学习_11_主从复制_建立连接

建立连接阶段的流程

建立连接主要有5个步骤:

  1. slave设置master的地址和端口号,保存master的信息。
  2. 建立socket连接。
  3. slave开始周期性的给master发送ping命令。
  4. 身份验证。
  5. 发送slave端口信息,master保存。

至此,主从连接成功,slave保存了master的地址与端口,master保存了slave的端口。
Redis学习_11_主从复制_建立连接

建立主从连接

通过客户端发送命令建立连接

建立连接(slave):slaveof ip host
Redis学习_11_主从复制_建立连接
建立连接后,可以看看6379、6380端口的服务器,也多出来了关于建立连接的相关日志。
Redis学习_11_主从复制_建立连接
Redis学习_11_主从复制_建立连接

启动服务器时通过参数建立连接

在启动服务器时,在启动的命令后面接:-- slaveof ip host
Redis学习_11_主从复制_建立连接

通过服务器配置文件建立连接

修改配置文件,在配置文件中设置master的ip和端口,再通过配置文件启动服务器时,就会直接与master建立连接。
Redis学习_11_主从复制_建立连接

补充内容

  • master与slave的相关信息可以通过info命令查看。
    Redis学习_11_主从复制_建立连接
    Redis学习_11_主从复制_建立连接
  • 主从断开连接:slave客户端发送:slaveof no one
  • 授权访问:
    • master配置文件设置密码:requirepass <password>
    • master客户端发送命令设置密码:config set requirepass <password>config get requirepass
    • slave配置文件设置密码:masterauth <password>
    • slave启动客户端设置密码:redis-cli -a <password>
    • slave发送命令设置密码:auth <password>