REDIS主從配置及切換

來源:互聯網
上載者:User

標籤:style   blog   http   ar   io   color   os   sp   strong   

最近公司項目也用上了。但有個點沒有弄很明白。

requirepass只是給CLIENT認證用的,還是同時給從REDIS認證用的?(masterauth)

一般的思路是主伺服器不開AOF,從伺服器開啟AOF,以便有更高的主伺服器效能。

網上相關文檔如下:

環境描述:

主redis:192.168.10.1 6379

從redis:192.168.10.2 6380

一、主從配置

1、將主從redis設定檔redis.conf中的aemonize no 改為 yes

2、修改從redis設定檔redis.conf中的port 6379 改為 6380,添加slaveof 192.168.10.1 6379 

如果主redis有密碼 masterauth password

3、啟動主從服務

      主redis:      

      [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

     從redis:

     [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-slave/redis-2.8.3/redis.conf

4、測試資料同步

      主redis:

      [[email protected] redis-2.8.3]# src/redis-cli -p 6379

     127.0.0.1:6379> set name abc

     OK

     127.0.0.1:6379> get name

     "abc"

     127.0.0.1:6379>

    從redis:

      [[email protected] redis-2.8.3]# src/redis-cli -p 6380

     127.0.0.1:6380> get name

     "abc"

     127.0.0.1:6380>

5、預設是讀寫分離的

     在從redis:

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380

     127.0.0.1:6380> set name 123

     (error) READONLY You can‘t write against a read only slave.

      

 二、主從切換

     1、停止主redis

     [[email protected] redis-2.8.3]# src/redis-cli -n 6379 shutdown

     [[email protected] redis-2.8.3]# src/redis-cli -p 6379

     Could not connect to Redis at 127.0.0.1:6379: Connection refused

     not connected>

     2、將從redis設成主redis

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE

     OK

    3、測試從redis是否切換從主redis

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380

     127.0.0.1:6380> set name 123

     OK

     127.0.0.1:6380> get name

     "123"

     127.0.0.1:6380>

     4、原來的主redis恢複正常了,要重新切換回去

         1)將現在的主redis的資料進行儲存

     [[email protected] redis-2.8.3]# src/redis-cli -p 6380

     127.0.0.1:6380> get name

     "abc"

     127.0.0.1:6380> set name 123

     OK

     127.0.0.1:6380> get name

     "123"

     127.0.0.1:6380> save

     OK

     127.0.0.1:6380> get name

     "123"

     127.0.0.1:6380>  

       2)將現在的主redis根目錄下dump.rdb檔案拷貝覆蓋到原來主redis的根目錄

       3)啟動原來的主redis

      [[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

       4)在現在的主redis中切換

      [[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379

      OK

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~

一. 如何初始化redis的密碼?

總共2個步驟:

a.在設定檔中有個參數: requirepass  這個就是配置redis訪問密碼的參數。

比如 requirepass test123

b.設定檔中參數生效需要重啟重啟redis 。

 

.不重啟redis如何配置密碼?

a. 在設定檔中配置requirepass的密碼(當redis重啟時密碼依然有效)。

# requirepass foobared
 如  修改成 :

requirepass  test123

 

b. 進入redis重定義參數

查看當前的密碼:

[[email protected] redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) (nil)

顯示密碼是空的,

然後設定密碼:

redis 127.0.0.1:6379> config set requirepass test123
OK

重新查詢密碼:

redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted

此時報錯了!

現在只要求輸入密碼認證就可以了。

redis 127.0.0.1:6379> auth test123
OK

重新查詢密碼:

redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

密碼已經得到修改。

當到了可以重啟redis的時候 由於配置參數已經修改 所以密碼會自動生效。

要是配置參數沒添加密碼 那麼redis重啟 密碼將相當於沒有設定。

 

三.如何登入有密碼的redis?

a.在登入的時候 密碼就輸入

[[email protected] redis-2.4.16]# ./src/redis-cli -p 6379 -a test123
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"

 

b.先登入再驗證:

[[email protected] redis-2.4.16]#  ./src/redis-cli -p 6379
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> auth test123
OK
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
redis 127.0.0.1:6379>

 

四. master 有密碼,slave 如何配置?

master 有密碼的時候 配置slave 的時候 相應的密碼參數也得相應的配置好。不然slave 是無法進行正常複製的。

相應的參數是:

#masterauth

比如:

 

masterauth  mstpassword

 

REDIS主從配置及切換

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.