NoSQL之Redis進階實用命令詳解--安全和主從複製

來源:互聯網
上載者:User

標籤:

  •  
  •  
  • Android
  •  
  • IOS
  •  
  • JavaScript
  •  
  • HTML5
  •  
  • CSS
  •  
  • jQuery
  •  
  • Python
  •  
  • PHP
  •  
  • NodeJS
  •  
  • Java
  •  
  • Spring
  •  
  • MySQL
  •  
  • MongoDB
  •  
  • Redis
  •  
  • NOSQL
  •  
  • Vim
  •  
  • C++
  •  
  • C#
  • JSON
  •  
  • Ruby
  •  
  • Linux
  •  
  • Nginx
  •  
  • Docker
所有分類  >  資料庫相關  >  NoSQL資料庫NoSQL之Redis進階實用命令詳解--安全和主從複製NoSQL Redis   2014-01-09 22:52:47 發布
您的評價:       0.0  
收藏     1收藏

一、安全性

為redis設定密碼:設定用戶端串連後進行任何其他指定前需要實用的密碼。

警告:因為redis速度非常快,所以在一台較好的伺服器下,一個外部使用者可以在一秒鐘進行150k次的密碼嘗試,這意味著你需要指定非常非常強大的密碼來防止暴力破解。

修改密碼的方法:

只需要在redis的設定檔redis.conf中開啟requirepass就可以了,比如我設定我的訪問密碼是mypassword

requirepass mypassword

在redis.conf中加入這一行代碼之後,我們殺死原來的redis進程:pkill redis然後重新啟動redis:/usr/local/redis-2.8.1/src/redis-server /user/local/redis-2.8.1/redis.conf

然後我們用/usr/local/redis-2.8.1/src/redis-cli發現還能登陸進來,但是當我們執行操作的時候,比如keys *就會如下錯誤:

127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

沒有必要的授權驗證。

在這裡redis支援兩種授權方式,一種就是直接用auth命令進行授權:

第一次輸入了一個錯誤的密碼test,授權失敗,第二次輸入正確的密碼,返回ok,授權成功,之後就可以進行所有的操作。

如果我們不想每次登入進來之後都要用auth進行授權,那麼我們可以採用另一種授權方式,就是在登陸用戶端的時候用-a 來指定密碼

sh-3.2# /usr/local/redis-2.8.1/src/redis-cli -a mypassword

上面的密碼如果輸錯,也能進入,但是之後不能進行操作。需要用auth重新進行授權。

二、主從複製

Redis主從複製配置和使用都非常簡單。通過主從複製可以允許多個slave server擁有和master server相同的資料庫副本。

redis主從複製的特點:

1.一台master可以擁有多個slave(1對多的關係)

2.多個slave可以串連同一個master外,還可以串連到其他slave(這樣做的原因是如果masterdown掉之後其中的一台slave立馬可以充當master的角色,這樣整個服務流程不受影響)

3.中從複製不會阻塞master,在同步資料的同時,master可以繼續處理client請求。

4.提高系統的伸縮性

redis主從複製的過程:

1.slave與master建立串連,發送sync同步命令。

2.Master會啟動一個後台進程,將資料庫快照集儲存到檔案中,同時master主進程會開始收集新得寫命令並緩衝。

3.後台完成儲存後,將檔案發送給slave

4.slave將檔案儲存到硬碟上

配置主從伺服器:

配置slave伺服器很簡單,只需要在slave的設定檔中加入以下配置:

slaveof masterip masterport

如果主機開啟了登入驗證,那麼還需要加入下面這句:

masterauth authpassword

然後啟動從機,首先主機會發快照給從機,從機的資料庫會更新到和主機相同的狀態,然後往主機裡寫內容,從機也會隨之更新。

如果我們在從機上寫資料那麼會報錯:

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

我們可以用info命令來查看主從伺服器的資訊,在從機上用info命令可以看到

role:slave

master_host:masterip

master_port:masterport

master_link_status:up證明和主機處在串連狀態

在主機上用info命令

role:master

同時串連著幾台從機

connected_slaves:1

同時可以查看串連到主機上的從機的ip和線上狀態

slave0:ip=192.168.1.107,port=6379,state=online,offset=1709,lag=1

原文地址:http://blog.csdn.net/liutingxu1/article/details/17116107

NoSQL之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.