您好,登錄后才能下訂單哦!
設置臨時生效
1.配置從庫
192.168.4.58:6058> info replication // 查看主從配置信息
# Replication
role:master
connected_slaves:0
master_replid:784d7d32d7f522703ca763c6a1a4bb0f8c1db591
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
命令行指定主庫:SLAVEOF 主庫 IP 地址 端口號
2.一主一從
192.168.4.57:6057> SLAVEOF 192.168.4.50 6050 #把57配置成50的從庫
OK
192.168.4.57:6057> INFO replication
# Replication
role:slave
master_host:192.168.4.50
master_port:6050
master_link_status:up
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:56
客戶端測試
[root@51 ~]# redis-cli -c -h 192.168.4.50 -p 6050
192.168.4.50:6050> set name bob
OK
Master:
192.168.4.50:6050> keys *
1)"name"
2)192.168.4.57:6057> keys *
3)1) "name"
3.一主多從(在上面的基礎上增加58)
192.168.4.58:6058> SLAVEOF 192.168.4.50 6050
OK
192.168.4.58:6058> info replication
# Replication
role:slave
master_host:192.168.4.50
...............
192.168.4.58:6058> keys *
1) "age"
2) "name"
4.主從從(把58配置成為57的從庫)
剛剛我們把58設置成為50的從庫,需要從啟58的redis
[root@58 ~]# redis-cli -h 192.168.4.58 -p 6058 shutdown
[root@58 ~]# redis_6379 start
[root@58 ~]# redis-cli -h 192.168.4.58 -p 6058
192.168.4.58:6058> info replication
# Replication
role:master
connected_slaves:0
............
192.168.4.58:6058> SLAVEOF 192.168.4.57 6057
OK
192.168.4.58:6058> info replication
# Replication
role:slave
master_host:192.168.4.57
master_port:6057
測試:
192.168.4.50(主庫從庫57)
192.168.4.50:6050> keys *
1) "age"
2) "name"
192.168.4.50:6050> set sex gral
OK
192.168.4.57(是50的從庫58的主庫)
192.168.4.57:6057> keys *
1) "sex"
2) "name"
3) "age"
192.168.4.58(57的從庫)
192.168.4.58:6058> keys *
1) "age"
2) "name"
3) "sex"
反客為主 – 主庫宕機后,手動將從庫設置為主庫
192.168.4.50宕機后,手動將57設置為主庫
192.168.4.57:6057> SLAVEOF no one // 設置為主庫
OK
以上設置都是臨時生效,重啟無效
配置永久主從同步且帶認證(同步認證需要輸入主庫密碼)
1.設置密碼
[root@50 ~]# vim /etc/redis/6379.conf
501 requirepass 123456
8 REDISPORT="6050"
43 $CLIEXEC -h 192.168.4.50 -p $REDISPORT -a 123546 shutdown
2.從庫設置
[root@57 redis]# vim /etc/redis/6379.conf
282 slaveof 192.168.4.50 6050
289 masterauth 123456
[root@57 redis]# redis-cli -h 192.168.4.57 -p 6057
192.168.4.57:6057> INFO replication
# Replication
role:slave
master_host:192.168.4.50
master_port:6050
master_link_status:up
...................................
配置主從從(給57配置個從庫永久配置)
[root@58 ~]# redis-cli -h 192.168.4.58 -p 6058 shutdown
[root@58 ~]# vim /etc/redis/6379.conf
282 slaveof 192.168.4.57 6057
[root@58 ~]# redis_6379 start
[root@58 ~]# redis-cli -h 192.168.4.58 -p 6058
192.168.4.58:6058> info replication
# Replication
role:slave
master_host:192.168.4.57
master_port:6057
master_link_status:up
.............
哨兵模式
-當主庫壞宕機后從庫自動升級為主庫
– 在 slave 主機編輯 sentinel.conf 文件
– 在 slave 主機運行哨兵程序
1.在重庫下面編寫配置文件
格式:sentinel monitor 主機名 ip 地址 端口 票數
主機名:自定義
IP 地址: master 主機的 IP 地址
端 口: master 主機 redis 服務使用的端口
票 數:主庫宕機后, 票數大于 1 的主機被升級為主庫
生產環境一般不設置連接密碼
50宕機前(把51的密碼取消)
[root@50 ~]# vim /etc/redis/6379.conf
#requirepass 123456
設置后重啟redis
把57連接50密碼取消
[root@57 ~]# vim /etc/redis/6379.conf
289 #masterauth 123456
設置后重啟redis
[root@57 redis]# vim /etc/sentinel.conf
sentinel monitor 50 192.168.4.50 6050 1
Sentinel auth-pass 50 123456 如果主庫存在秘密,需輸入,
[root@57 redis]# redis-sentinel /etc/sentinel.conf
[root@57 ~]# redis-cli -h 192.168.4.57 -p 6057
192.168.4.57:6057> info replication
# Replication
role:slave
master_host:192.168.4.50
master_port:6050
50宕機后查看
192.168.4.57:6057> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.4.58,port=6058,state=online,offset=10763,lag=1
.....................
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。