redis基于密码验证的主从复制配置

Redis主从配置实例

从库配置:

从库内网ip:192.168.1.9
[root@localhost ~]# grep -Ev "^#|^$" /usr/local/redis/etc/redis.conf|egrep "bind|tcp-backlog|daemonize|logfile|dir|slaveof|masterauth|requirepass|maxclients|maxmemory|appendonly|port"

bind 0.0.0.0
port 3089
tcp-backlog 1024
daemonize yes
logfile "/data/redis/log/10689redis.log"
dir /data/redis/data
slaveof 192.168.1.10 3089
masterauth Zyojdf
requirepass Zyojdf
maxclients 100000
maxmemory 3G
appendonly no
appendfilename "appendonly.aof"

主库配置:

主库内网ip:192.168.1.10

[root@localhost ~]# grep -Ev "^#|^$" /usr/local/redis/etc/redis.conf|egrep "bind|tcp-backlog|daemonize|logfile|dir|slaveof|masterauth|requirepass|maxclients|maxmemory|appendonly|port"

bind 0.0.0.0
port 3089
tcp-backlog 1024
daemonize yes
logfile "/data/redis/log/10689redis.log"
dir /data/redis/data
requirepass Zyojdf
maxclients 100000
maxmemory 3G
appendonly no
appendfilename "appendonly.aof"

转载于:https://blog.51cto.com/wujianwei/2103930

### 基于Docker配置Redis主从复制的指南 基于Docker配置Redis主从复制需要完成以下几个关键任务:获取镜像、创建容器、配置主从关系以及验证配置。以下是详细的配置过程和注意事项。 #### 1. 获取Redis镜像 首先,确保本地已经安装了Docker环境。然后拉取官方的Redis镜像: ```bash docker pull redis ``` #### 2. 创建Redis主服务器容器 运行以下命令创建并运行Redis主服务器容器,指定端口映射和网络名称: ```bash docker run -d --name redis-master -p 6379:6379 --network redis-network redis ``` 此命令会启动一个名为`redis-master`的容器,并将主机的6379端口映射到容器的6379端口[^1]。 #### 3. 配置Redis从服务器容器 接下来,创建Redis从服务器容器,并配置其为主服务器的副本。可以通过挂载自定义配置文件实现这一点。 ##### 3.1 修改`redis.conf`文件 在宿主机上创建或编辑`redis.conf`文件,添加以下内容以配置从服务器: ```conf bind 0.0.0.0 protected-mode no port 6380 replicaof 172.17.0.2 6379 ``` 其中,`172.17.0.2`是主服务器容器的IP地址,可以通过以下命令获取: ```bash docker inspect redis-master | grep IPAddress ``` ##### 3.2 启动从服务器容器 使用以下命令启动从服务器容器,并挂载配置文件: ```bash docker run -d --name redis-slave -p 6380:6380 --network redis-network \ -v /path/to/redis.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf ``` 这里,`/path/to/redis.conf`是宿主机上的配置文件路径[^5]。 #### 4. 验证主从复制配置 进入主服务器容器,检查其状态: ```bash docker exec -it redis-master redis-cli info replication ``` 输出中应显示`role:master`和`connected_slaves:1`,表示主服务器已成功连接至少一个从服务器[^4]。 进入从服务器容器,检查其状态: ```bash docker exec -it redis-slave redis-cli info replication ``` 输出中应显示`role:slave`和`master_link_status:up`,表示从服务器已成功连接到主服务器[^4]。 #### 5. 注意事项 - 确保主从服务器容器位于同一Docker网络中,以便它们能够互相通信。可以通过`--network`参数指定网络名称。 - 如果使用自定义配置文件,请确保文件路径正确且权限设置适当。 - 在生产环境中,建议启用密码认证以提高安全性。 ```python # 示例代码:验证主从复制功能 import redis master = redis.StrictRedis(host='localhost', port=6379, decode_responses=True) slave = redis.StrictRedis(host='localhost', port=6380, decode_responses=True) # 写入数据到主服务器 master.set('test_key', 'test_value') # 从从服务器读取数据 value = slave.get('test_key') print(value) # 输出应为 test_value ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值