hydd的Linux笔记Day65

Day65 主从复制 主从复制概述 主从复制结构模式
一主一从、一主多从、主从从
主从复制工作原理
工作原理:
1. slave向master发送sync命令2. master启动后台存盘进程,并收集修改数据命令3. master完成后台存盘后,传送整个数据文件到slave4. slave接收数据文件,加载到内存中完成首次完全同步5. 后续有新数据产生时,master继续收集数据修改命令依次传给salve,完成同步
配置主从复制 拓扑结构
配置从库
redis服务运行后,默认都是服务器
[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351 192.168.4.51:6351> info replication//查看复制信息# Replicationrole:master//是master 服务器connected_slaves:0//从服务器个数零台master_replid:eaa14478158a71c41f947eaea036658c2087e8f2master_replid2:0000000000000000000000000000000000000000master_repl_offset:0second_repl_offset:-1repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0192.168.4.51:6351>
将主机192.168.4.52配置为192.168.4.51的从服务器
1)命令行配置(马上生效)
[root@redisB ~]# redis-cli -h 192.168.4.52 –p 6352192.168.4.52:6352> slaveof192.168.4.516351//指定主服务器ip地址与端口OK192.168.4.52:6352> info replication//查看复制信息# Replicationrole:slave//从服务器master_host:192.168.4.51//主服务器ip地址master_port:6351 //主服务器端口master_link_status:up //连接状态开启master_last_io_seconds_ago:3master_sync_in_progress:0
2)永久配置(重新redis服务后,依然有效)
[root@redisB ~]# vim /etc/redis/6379.confslaveof192.168.4.516351//在文件末尾添加或在原有配置项上修改都可以
3)在主服务器查看复制信息
[root@redisA ~]# redis-cli -h 192.168.4.51 –p 6351192.168.4.51:6351> info replication//查看复制信息# Replicationrole:masterconnected_slaves:1 //从服务器个数 1台slave0:ip=192.168.4.52,port=6352,state=online,offset=14,lag=1//从服务器信息master_replid:db7932eb0ea4302bddbebd395efa174fb079319fmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:14second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:14192.168.4.51:6351>
测试配置
1)客户端连接主服务器存储数据
[root@client50 ~]# redis-cli -h 192.168.4.51 –p 6351192.168.4.51:6351> set x9OK192.168.4.51:6351> set y8OK192.168.4.51:6351> set z7OK
2)在从服务器本机登录,查看数据(与主服务器数据一致)
[root@redisB ~]#redis-cli -h 192.168.4.52 –p 6352192.168.4.52:6352> keys*1)“x”2)“y”3)“z”
配置带验证的主从复制
设置主服务器192.168.4.51 设置连接密码
1) 修改主服务器的配置文件,设置密码 。
[root@redisA ~]# vim +501 /etc/redis/6379.conf requirepass123456//设置密码:wq[root@redisA ~]# vim +43/etc/init.d/redis_6379//修改脚本$CLIEXEC -h 192.168.4.51 -p 6351 -a 123456shutdown //添加密码:wq[root@redisA ~]# /etc/init.d/redis_6379 stop //停止服务[root@redisA ~]# /etc/init.d/redis_6379start //启动服务Starting Redis server...[root@redisA ~]# [root@redisA ~]# netstat -utnlp| grep:6351//查看端口tcp00 192.168.4.51:63510.0.0.0:*LISTEN11523/redis-server
配置从服务器192.168.4.52
1) 修改配置文件,设置主服务器连接密码 。
[root@redisB ~]# /etc/init.d/redis_6379 stop //停止服务[root@redisB ~]# vim +289 /etc/redis/6379.conf masterauth123456//设置密码:wq[root@redisA ~]# /etc/init.d/redis_6379start //启动服务Starting Redis server...[root@redisA ~]# [root@redisA ~]# netstat -utnlp| grep:6351//查看端口tcp00 192.168.4.51:63510.0.0.0:*LISTEN11523/redis-server
2) 在从服务器本机连接服务,查看复制信息