本文是CentOS7中Redis主从复制的实现讲解。
启动多个Redis服务
首先需要在一台CentOS7机器上启动两个Redis服务,即启动两个Redis数据库,一个做主数据库,另一个做从数据,从数据库不断从主数据库复制数据,保持和主数据库同步,这样当主数据库宕机后从数据库可以替代原先的主数据库。具体方法是在Redis的安装目录里copy一份redis.conf文件,例如我copy后命名为redis_cp.conf。一台主机中启动多个Redis服务的方法就是分别在启动命令后面的参数中输入对应的配置文件名,即按不同配置文件来分别启动不同的Redis服务,注意一个Redis服务要占各自用一个端口,端口可在配置文件中设置。
首先可以先启动第一个Redis服务:(主数据库)
/usr/local/bin/redis-server /root/Downloads/redis-4.0.9/redis.conf
下面来配置从数据库:
主数据库的配置文件不用修改,只需要修改从数据库的配置文件,即redis_cp.conf。
在从数据库的配置文件中加上如下命令:
slaveof 10.25.39.132 6379
masterauth 123
port 6479
命令解释:
slaveof + 你的主数据库所在主机ip + 端口号
masterauth + 主数据库密码
port + 从数据库占用的端口号
现在可以启动第二个Redis服务:(从数据库)
/usr/local/bin/redis-server /root/Downloads/redis-4.0.9/redis_cp.conf
可以看到按两个Redis配置文件启动了两个Redis服务
下面来测试主从复制是否配置成功:
在usr/local/bin目录下点击右键,open in terminal,输入如下命令启动主数据库客户端。
redis-cli -h 192.168.81.139 -p 6379 -a 123456
在主数据库中写下字段name,值为tjh。
现在查看从数据库中是否有主数据库中对应的数据。
在usr/local/bin目录下点击右键,open in terminal,输入如下命令启动主数据库客户端。
redis-cli -h 192.168.81.139 -p 6479 -a 123456
可以看到从数据库中查到了刚才在主数据库中写下的name。主从复制配置成功。
注意,从数据库只能读数据,不能写数据,如下写入数据会报错:
上面只是一个从数据库,可以通过copy多个redis.conf,再修改配置来得到多个从数据库。
参考文章:配置redis主从复制