前期准备
linux系统,我是虚拟机装的centos7
安装好一台redis
windows安装好 Redis Desktop Manager(可视化工具方便查看,当然也可以控制台命令测试,非必须)
姿势步骤
1.在/etc下创建redis文件夹放redis的启动配置文件:
[root@localhost ~]# mkdir /etc/redis
2.把redis安装文件里的配置文件复制一份到/etc/redis下并取名6379.conf当作主机master
[root@localhost ~]# cp ./redis-4.0.9/redis.conf /etc/redis/6379.conf
3.使用vim编辑器打开6379.conf我们需要修改几个参数:
bind的ip改成0.0.0.0
给主机上密码requirepass 123456
daemonize改为yes,意为后台运行
修改日志输出目录文件:logfile:/var/log/redis_6379.log
4.复制6379.conf然后贴两份分别叫6378.conf和6377.conf作为从机:
[root@localhost ~]# cp /etc/redis/6379.conf /etc/redis/6378.conf
[root@localhost ~]# cp /etc/redis/6379.conf /etc/redis/6377.conf
5.然后分别用vim编辑器打开6378.conf和6377.conf两个配置文件修改几个参数,6377一样改:
bind的ip改成0.0.0.0
给从机上密码requirepass 123456
daemonize改为yes,意为后台运行
给slaveof参数设置绑定主机172.0.0.1 6379
由于主机上了密码所以这块也要设置密码,修改参数masterauth 123456
修改日志输出目录文件:logfile:/var/log/redis_6378.log
修改pid文件:pidfile /var/run/redis_6378.pid
修改dir目录:dir /var/lib/redis/6378 这里你需要提前创建这个目录
6.分别启动三个服务:
[root@localhost ~]# ./redis4.0.9/src/redis-server /etc/redis/6379.conf
[root@localhost ~]# ./redis4.0.9/src/redis-server /etc/redis/6379.conf
[root@localhost ~]# ./redis4.0.9/src/redis-server /etc/redis/6379.conf
7.这是后你往6379里添加或删除一个key,其他两台从机就会自动同步啦
8.再说一下centos7开机自动启动redis的办法,先把上面3个启动命令复制,然后贴在/etc/rc.local里面
PS:两个从机是不可以写数据的,当你尝试写的时候会报错,因为配置文件里默认参数设置是只读(slave-read-only yes),所以主从复制也同样实现读写分离,读数据走从机,写数据走主机。