zoukankan      html  css  js  c++  java
  • 主从复制一

    设置主从关系

    通过  info replication 命令查看节点角色设置主从关系slaveof 主库ID 主库端口     如: slaveof 127.0.0.1 6379
    主库宕机后,想让从库停止与其他数据库同步,转成主库,slaceof on one,   其他数据路想连接它,还要执行设置主库命令,否者会一直等着老主库

    常见方式,一主二仆,薪火相传

    薪火相传与一主二仆

    #一主二仆
        只有一层分支,一对多
    
    
    
    #薪火相传
        中间的slave会是下一个slave的Master,slave同样可以接收其他slaves的连接和同步的请求,那么slave作为下一个链条中的master,可以有效的减轻master的写压力
    中间的slave角色仍然是slave
    
        中途变更转向,会清除之前的数据,重新建立拷贝最新的

    常见问题

    #1、不论从机是什么时候设置的,只要设置为从机,会把主机的全部复制一遍(包括设置之前的)
    
    #2、读写分离,从机只有读的权限,从机的写操作是不被允许
    
    
    #3、主机宕机后,从机的角色也不会改变,等主机恢复后,一切照旧
    
    #4、从机断开后,会断开连接,下次需要再连接,除非写入配置文件

     

    练习

    修改配置文件

     首先将redis.conf 配置文件复制三份,通过修改端口分别模拟三台Redis服务器。

      

      然后我们分别对这三个redis.conf 文件进行修改。

     ①、修改 daemonize yes

      

      表示指定Redis以守护进程的方式启动(后台启动)

      ②、配置PID文件路径 pidfile

      

      表示当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/redis/run/redis_6379.pid 文件里面

      ③、配置端口 port

      

      ④、配置log 文件名字

      

      ⑤、配置rdb文件名

      

      依次将 6380redis.conf 、6381redis.conf 配置一次,则配置完毕。

      接下来我们分别启动这三个服务。

      

      通过命令查看Redis是否启动:

      

      接下来通过如下命令分别进入到这三个Redis客户端:

    redis-cli -p 6379
    redis-cli -p 6380
    redis-cli -p 6381

    设置主从关系

     ①、通过  info replication 命令查看节点角色

          

      

      我们发现这三个节点都是扮演的 Master 角色。那么如何将 6380 和 6381 节点变为 Slave 角色呢?

      ②、选择6380端口和6381端口,执行命令:SLAVEOF 127.0.0.1 6379

          

      我们再看 6379 节点信息:

      

      这里通过命令来设置主从关系,一旦服务重启,那么角色关系将不复存在。想要永久的保存这种关系,可以通过配置redis.conf 文件来配置。

  • 相关阅读:
    c语言,动态数组
    利用Word来发布博客到博客园(onenote类似)
    c语言,volatile
    c语言,变长数组
    C语言,sprintf与sscanf函数[总结]
    c语言,数组和指针
    Linux的notifier机制的应用
    Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)
    内核线程的进程描述符task_struct中的mm和active_mm
    Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)
  • 原文地址:https://www.cnblogs.com/pdun/p/11285156.html
Copyright © 2011-2022 走看看