主从复制大致就是: master对数据进行写入,而Secondary负责数据的的读取
当master中的数据变化,就将数据异步同步到其他的Secondary数据库中
####特点:
1.读写分离
2.数据恢复
3.数据恢复
4.水平扩容支持高并发
###如何配置?
配置从库不配置主库
权限上: master如果配置了requirepass参数,需要密码登录,那么slave就要配置masterauth来设置配置校验密码,否则master会拒绝salve的请求。
####基本操作命令:
查看复制节点的主从关系和配置信息 【info replication】
写入redis.config 配置文件 【 replicaof 主库IP 主库端口号】
和master库断开以后都需要重新连接,(除非配置到master文件) , 在运行期间修改slave节点的信息。若该数据库是某个数据库的从数据库,会停止和原来主数据库的关系,转而和新的主库建立连接; 【saveof 主库IP 主库端口号】
当前数据库停止和其他数据库的同步,转为主数据库 【saveof no one】
案例演示
架构说明: 一个master两个salve; 且注意三台虚拟机都可以互相ping通
三大命令:
主从复制: 只配从库不配置主库; replicaof 主库IP 主库端口
改换门庭: slave of 主库IP 主库端口
自立门户: slave of no one
修改配置文件:
前置: 复制干净的conf文件
:set nu 打开行号
1.开启daemonize yes
2.注释掉bind 127.0.0.1
3.protected-mode no
- 指定端口
- 指定当前工作目录
6.pid文件名字 pidfile
7.log文件名 logile
8.requirepass
9.dump.rdb更换名字
- aof文件修改
11.从机访问主机的通行密码masterauth 从机配置主机不需配置。
Redis的一主二从
1.配置文件固定写死
配置文件执行 replicaof 主机IP 主机端口
配置从库不配置主库,配置从库信息如下:
第一台: 6380
还有一台也是这么设置;
启动的时候先启动master然后启动slave依次启动。
主从关系命令
2.命令操作手动指定
主从复制问题1:
AUTH failed: ERR AUTH called without any password configured for the default user. Are you sure your configuration is correct