hyzqb 发表于 2018-11-3 10:09:10

redis 4.0.2主从

  192.168.3.1-主
  192.168.3.2-从
  修改主从配置文件的/usr/local/redis/redis.conf
  bind 0.0.0.0——修改侦听在任意网卡;默认侦听在127.0.0.1;不修改主从无法相互访问redis
  port 6379 ——如果在一台机器上,主从的端口侦听不能一样,否则无法启动
  daemonize yes——启用后台守护进程
  slave-read-only yes——默认从为只读模式
  protected-mode yes——启用保护模式,禁止在公网访问;要是配置里没有指定bind和密码,开启保护redis
  ——————以上主从配置都一样——————————
  在从192.168.3.2 redis的/usr/local/redis/redis.conf添加以下一行配置
  slaveof 192.168.3.1 6379
  为了安全,设置主redis密码,修改主192.168.3.1 redis下的redis.conf
  requirepass password——设置主redis密码
  设置192.168.3.2从redis访问192.168.3.1主redis的密码:
  masterauth password——从访问主的认证密码
  注意:默认是读写分离的,从库是无法写入数据的;
  ————————————————————————
  # ./redis-cli -a redis密码
  127.0.0.1:6379> info replication
  # Replication
  role:master
  connected_slaves:1
  slave0:ip=192.168.3.2,port=6379,state=online,offset=8780,lag=1
  master_replid:55e58cf128d624d263a13da690d6294191fa7c8d
  master_replid2:0000000000000000000000000000000000000000
  master_repl_offset:8780
  second_repl_offset:-1
  repl_backlog_active:1
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:1
  repl_backlog_histlen:8780
  ——————————————————————————————
  # ./redis-cli -a redis密码
  127.0.0.1:6379> info replication
  # Replication
  role:slave
  master_host:192.168.3.1
  master_port:6379
  master_link_status:up
  master_last_io_seconds_ago:8
  master_sync_in_progress:0
  slave_repl_offset:8864
  slave_priority:100
  slave_read_only:1
  connected_slaves:0
  master_replid:55e58cf128d624d263a13da690d6294191fa7c8d
  master_replid2:0000000000000000000000000000000000000000
  master_repl_offset:8864
  second_repl_offset:-1
  repl_backlog_active:1
  repl_backlog_size:1048576
  repl_backlog_first_byte_offset:1
  repl_backlog_histlen:8864
  ——————————————————————
  主添加key-value
  127.0.0.1:6379> keys *
  (empty list or set)
  127.0.0.1:6379> set hello word
  OK
  ————————————————————
  从查询hello
  127.0.0.1:6379> get hello
  "word"
  127.0.0.1:6379> set rmrf redis
  (error) READONLY You can't write against a read only slave.——只读无法写入
  127.0.0.1:6379>
  ————————————————————
  停止主redis
  127.0.0.1:6379> shutdown
  not connected>
  将从redis设置成主redis
  # ./redis-cli slaveof NO ONE
  OK
  # ./redis-cli -a redis密码
  127.0.0.1:6379> keys *
  1) "hello"
  127.0.0.1:6379> set nice man
  OK
  +++++++++
  原来的主3.1现在又好了。要切换回去;将3.2的redis数据save保存
  127.0.0.1:6379> save
  OK
  将现在的3.2主redis根目录下dump.rdb文件拷贝覆盖到原来3.1主redis的根目录/bin下
  在3.2下执行
  scp /usr/local/redis/bin/dump.rdb root@192.168.3.1:/usr/local/redis/bin/
  启动原来的主redis
  /bin/./redis-server ../redis.conf
  ————————————————
  最后把现在3.2的主切换为原来的主3.1
  ./redis-cli slaveof 192.168.3.1 6379
  在检查下主和从的redis;以前的从redis又变成只读了;

页: [1]
查看完整版本: redis 4.0.2主从