一、什么是主从复制
主库就负责写数据,从库跟主库数据同步起来,这样就可以从库读数据,主库写数据,实现读写分离。
而且数据流向是单向的,从 master ——> slave,主库挂掉了,从库的数据还在。
原理:
1. 从库通过 slaveof 127.0.0.1 6379 命令,连接主库,并发送SYNC给主库
2. 主库收到SYNC,会立即触发 BGSAVE,后台保存 RDB,发送给从库
3. 从库接收后会应用 RDB 快照
4. 主库会陆续将中间产生的新的操作,保存并发送给副本库
5. 到此,主复制就正常工作了
@H_404_14@
注意:如果主库不开启持久化,有可能主库重启操作,会造成所有主从数据丢失!
辅助配置
min-slaves-to-write 1
min-slaves-max-lag 3
# 在服务器数量少于1个,或者三个服务器的延迟值(lag)都大于3秒时主服务器将拒绝执行写命令
@H_404_14@
二、复制的配置
配置命令
端口:6380是从,6379是主
1、在6380上执行(去从库配置)
2、命令如下:
127.0.0.1:6380> 127.0.0.1 6379 # 异步,这样从库就可以同步主库的数据
# 从库不可以写数据
@H_404_14@
3、取消从库命令:不会把之前的数据清除
127.0.0.1:6380> slaveof no one
@H_404_14@
配置文件
slaveof ip port # 配置需要同步的主库 ip 和端口
slave-read-only yes # 设置从库只读,不然数据会乱
@H_404_14@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。