Redis主从配置

(1)把redis的配置文件(reids.conf)拷贝2份

[root@192 redis]# cp redis.conf redis6380.conf

[root@192 redis]# cp redis.conf redis6381.conf

 

(2)配置从服务器redis6380.conf

[root@192 redis]# vi redis6380.conf    #需要修改的内容如下:

#pidfile /var/run/redis_6379.pid

pidfile /var/run/redis_6380.pid

#port 6379

port 6380

#dbfilename dump.rdb

dbfilename dump6380.rdb

# slaveof <masterip> <masterport>

slaveof 127.0.0.1 6379    

slave-read-only yes

 

(3)配置从服务器redis6381.conf

[root@192 redis]# vi redis6381.conf    #需要修改的内容如下:

#pidfile /var/run/redis_6379.pid

pidfile /var/run/redis_6381.pid

#port 6379

port 6381

#save 900 1      #全部注释掉,不产生rdb文件,2台从服务器,1台产生rdb即可

#save 300 10

#save 60 10000

appendonly no   #也不让它产生aof

# slaveof <masterip> <masterport>

slaveof 127.0.0.1 6379

slave-read-only yes   #只读

 

(4)配置主服务器redis.conf

[root@192 redis]# vi redis.conf

#save 900 1     #禁用rdb,因为有从服务器生成了

#save 300 10

#save 60 10000

#appendonly no

appendonly yes     #aof的配置文件可要可不要

appendfilename "appendonly.aof"

 

(5)启动主、从服务器:

[root@192 redis]# pwd

/usr/local/redis

[root@192 redis]# ./bin/redis-server ./redis.conf    #启动主服务器

[root@192 redis]# ./bin/redis-server ./redis6380.conf   #启动从服务器

[root@192 redis]# ./bin/redis-server ./redis6381.conf   #启动从服务器

 

(6)客户端连接主服务器:

[root@192 redis]# ./bin/redis-cli

127.0.0.1:6379>

127.0.0.1:6379> info replication

# Replication

role:master

connected_slaves:2   #连接的从服务器的个数

slave0:ip=127.0.0.1,port=6380,state=online,offset=392,lag=0

slave1:ip=127.0.0.1,port=6381,state=online,offset=392,lag=1

127.0.0.1:6379> set animal cat  #主服务器设置值,从服务器可读取值

OK

 

(7)客户端连接从服务器:

---slave1

[root@192 ~]# cd /usr/local/redis/

[root@192 redis]# ./bin/redis-cli -p 6380

127.0.0.1:6381> info replication

# Replication

role:slave

master_host:127.0.0.1

master_port:6379

master_link_status:up    #up连接正常,down连接失败

 

---slave2

[root@192 ~]# cd /usr/local/redis/

[root@192 redis]# ./bin/redis-cli -p 6381

127.0.0.1:6381> info replication  #查看从服务器的连接状态

# Replication

role:slave

master_host:127.0.0.1

master_port:6379

master_link_status:up    #up连接正常,down连接失败

 

注:

从服务器可以不通过密码连接主从服务器,不安全,如果想用密码也是可以的:

加上密码:(主、从服务器配置文件都需要加上密码)

(1)杀掉所有的redis进程:

[root@192 redis]# pkill -9 redis

(2)主服务器加密码:

[root@192 redis]# vi redis.conf   #修改主服务器内容如下:

# requirepass foobared

requirepass passwd

(1)从服务器加密码:(2个从服务器都要修改如下内容:)

[root@192 redis]# vi redis6380.conf

# masterauth <master-password>

masterauth passwd

 

[root@192 redis]# vi redis6381.conf

# masterauth <master-password>

masterauth passwd

 

(4)此时启动redis主、从服务端,客户端连接redis需要输入密码,如下:

[root@192 ~]# cd /usr/local/redis/

[root@192 redis]# ./bin/redis-cli

127.0.0.1:6379> set age 21

(error) NOAUTH Authentication required.

127.0.0.1:6379> auth passwd

OK

127.0.0.1:6379> set age 21

OK

 

原文来自:https://www.cnblogs.com/reyinever/p/10041302.html

上一篇:leetcode-192周赛-1471-数组中的K个最强值


下一篇:LeetCode系列192—打家劫舍