配置redis密码
查找redis.conf,搜索requirepass关键字,如下图:
去掉注释,增加密码配置,重启服务器即可
#重启服务
systemctl restart redis
#测试连接
redis-cli -h 127.0.0.1 -p 6379 -a ksyun@2023
修改成功后
配置主从复制
在从库配置完成启动之后,不管是第一次同步还是重新同步,slave 都会发送一个sync的命令给master 。master接受到请求之后执行bgsave的操作,保存一个rdb文件。
在保存期间,所有的数据修改操作,master都会保存在一个缓冲区内。
首先不论一个或者多个slave来请求,master都可以使用这个rdb文件发送给slave,slave接收到rdb文件之后,将文件内的数据加载到内存中。
完成之后,master会把缓冲区的写入操作通过redis命令协议的方式,全部发送个slave。这样的话,slave就可以拥有一份和master一样的数据。
部分同步与全量同步
首次进行主从配置的时候,假如主库有数据的话,一定会进行全量的同步。
在同步期间出现主从短暂的网络断开,是可以实现部分同步的,就是原来有的数据可以不同步。原理如下:
master需要为将要被发送的复制流创建一个内存缓冲区,同时记录下复制偏移量和master的run id (和MySQL的指针偏移量同理),网络断开后,slave重连之后,向master发送请求,如果指针偏移量之后的数据,都在缓冲区内,则执行部分同步,从偏移量开始。
由于缓冲区有大小限制,如果缓冲区超出了这段时间的偏移量,这个时候必须要进行全量同步。
在从redis 编辑redis.conf配置文件,增加saveof 字段,配置主库地址和端口重启服务。
在主库上检查配置
redis-cli -h 127.0.0.1 -p 6379 -a ksyun@2023
info Replication
从库上检查配置
redis-cli -h 127.0.0.1 -p 6379 -a ksyun@2023
info Replication
目前看到主从没有同步,是因为防火墙没开
标签:同步,slave,配置,redis,偏移量,master,linux,缓冲区 From: https://blog.51cto.com/u_11555417/6143126