redis 主从同步搭建
redis 一主二从
1.redis 安装
安装教程:https://www.cnblogs.com/zwcry/p/9505949.html
2.redis主从
1)创建主从目录
mkdir /usr/local/redis-ms
cd /usr/local/redis-ms/
mkdir 6381
mkdir 6382
mkdir 6382
2)复制redis.conf到主从目录
cp /usr/local/redis/redis.conf ./6381/
cp /usr/local/redis/redis.conf ./6382/
cp /usr/local/redis/redis.conf ./6383/
3)修改主./6381/redis.conf
vim ./6381/redis.conf
#修改如下key的值
bind 0.0.0.0#任意ip都可以连接
protected-mode no#关闭保护,允许非本地连接
port 6381#端口号
daemonize yes#后台运行
pidfile /var/run/redis_6381.pid#进程守护文件,就是存放该进程号相关信息的地方
dir /usr/local/redis-ms/6381/#db等相关目录位置
appendonly yes#开启日志形式
4)修改从./6382/redis.conf
vim ./6382/redis.conf
#修改如下key的值
bind 0.0.0.0#任意ip都可以连接
protected-mode no#关闭保护,允许非本地连接
port 6382#端口号
daemonize yes#后台运行
pidfile /var/run/redis_6382.pid#进程守护文件,就是存放该进程号相关信息的地方
dir /usr/local/redis-ms/6382/#db等相关目录位置
slaveof 192.168.194.131 6381#主信息
appendonly yes#开启日志形式
5)修改从./6383/redis.conf
vim ./6383/redis.conf
#修改如下key的值
bind 0.0.0.0#任意ip都可以连接
protected-mode no#关闭保护,允许非本地连接
port 6383#端口号
daemonize yes#后台运行
pidfile /var/run/redis_6383.pid#进程守护文件,就是存放该进程号相关信息的地方
dir /usr/local/redis-ms/6383/#db等相关目录位置
slaveof 192.168.194.131 6381#主信息
appendonly yes#开启日志形式
3.启动测试
1)启动
cd /usr/local/redis-ms/
/usr/local/redis/src/redis-server ./6381/redis.conf
/usr/local/redis/src/redis-server ./6382/redis.conf
/usr/local/redis/src/redis-server ./6383/redis.conf
ps -ef|grep redis
#查看主从是否搭建成功
/usr/local/redis/src/redis-cli -p 6381
info
如图:
2)测试
/usr/local/redis/src/redis-cli -p 6381 --raw
set name '丁洁'
get name
/usr/local/redis/src/redis-cli -p 6382 --raw
get name
/usr/local/redis/src/redis-cli -p 6382 --raw
get name
注:
--raw 中文显示
主6381设置name值,可以在从6382、6383取到,但是从不能设置值。
4.开机自启服务
mkdir /usr/local/redis-ms/script
cd /usr/local/redis-ms/script/
1)start.sh启动脚本
vim ./start.sh
#!/bin/sh
/usr/local/redis/src/redis-server /usr/local/redis-ms/6381/redis.conf
/usr/local/redis/src/redis-server /usr/local/redis-ms/6382/redis.conf
/usr/local/redis/src/redis-server /usr/local/redis-ms/6383/redis.conf
2)stop.sh停止脚本
vim ./stop.sh
#!/bin/sh
/usr/local/redis/src/redis-cli -p 6381 shutdown
/usr/local/redis/src/redis-cli -p 6382 shutdown
/usr/local/redis/src/redis-cli -p 6383 shutdown
3)restart.sh重启脚本
vim ./restart.sh
#!/bin/sh
systemctl stop redis-ms
systemctl start redis-ms
4)改变权限
chmod 777 ./*
5)编写开机服务
cd /usr/lib/systemd/system/
vim redis-ms.service
[Unit]
Description=redis-ms
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/redis-ms/script/start.sh
ExecStop=/usr/local/redis-ms/script/stop.sh
ExecReload=/usr/local/redis-ms/script/restart.sh
[Install]
WantedBy=multi-user.target
改变权限
chmod 777 redis-ms.service
进程服务重加载
systemctl daemon-reload
开机启动主从
systemctl enable redis-ms.service
启动主从
systemctl start redis-ms.service
关闭主从
systemctl stop redis-ms.service
重启主从
systemctl restart redis-ms.service