06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制
Redis高級實用特征
安全性(登錄授權和登錄后使用auth授權)
設置客戶端連接后進行任何其他指定前需要使用的密碼。
警告:因為redis速度相當快,所以在一臺比較好的服務器下,一個外部的用戶可以在一秒中進行150k次的密碼嘗試,這意味著你需要指定非常非常強大的密碼來防止暴力破解。
??修改密碼只需要在我們的配置文件中修改下面參數:
#requirepass foobared requirepass beijing????(紅色的就是指定的要配置的密碼) |
??上面的一句表示的是設置連接的口令是beijing.
vim /usr/local/redis/etc/redis.conf,文件中的toto就是redis的密碼。
刪除服務,然后重啟redis服務
[toto@localhost ~]$pkill redis-server [toto@localhost ~]$ps -ef | grep "redis" toto?????5737?3713? 0 14:51 pts/0???00:00:55 redis-server *:6379 toto?????5740?3766? 0 14:51 pts/1???00:00:00 redis-cli toto????12995?5737? 0 21:47 pts/0???00:00:00 [redis-server] <defunct> toto????12997?5364? 0 21:47 pts/2???00:00:00 grep redis [toto@localhost ~]$ kill -9 5737 [toto@localhost ~]$ kill -9 5740 ?[toto@localhost ~]$ ps -ef | grep "redis" toto????13013?5364? 0 21:48 pts/2???00:00:00 grep redis [toto@localhost ~]$/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
客戶端登錄
[toto@localhost bin]$ redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required.??????//沒有授權之前輸出這一行 127.0.0.1:6379>auth toto??????????????????//使用配置的toto這個密碼來授權 OK 127.0.0.1:6379> keys *????????????????????//授權之后可以使用keys *了 (empty list or set) 127.0.0.1:6379> set name toto OK 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> |
如果想在登錄之后就可以直接使用各種命令了,這時候可以使用下面的方式進行登錄:
127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> exit [toto@localhost bin]$ redis-cli -a toto????加上一個-a,然后后面再加上密碼toto 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> |
??
主從復制
Redis主從復制配置和使用都非常簡單。通過主從復制可以允許多個slave server擁有和master server相同的數據庫副本。
?
A Redis主從復制特點:
Master可以擁有多個slave
多個slave可以連接同一個master外,還可以連接到其它slave。
主從復制不會阻塞master,在同步數據時,master可以繼續處理client請求。
提高系統的伸縮性。
B:Redis主從復制過程:
Slave與master建立連接,發送sync同步命令。
Master會啟動一個后臺進程,將數據庫快照保存到文件中,同時master主進程會開始收集新的寫命令并緩存。
后臺完成保存后,就將此文件發送給slave
Slave將此文件保存到硬盤上。
C:配置主從服務器:
配置slave服務器很簡單,只需要在slave的配置文件中加入以下配置:
slaveof 192.168.1.1 6379 #指定master的ip和端口 |
masterauth toto #這是主機的密碼 |
實驗方法:
關閉虛擬機中的此Linux,將其命名為Redis_master,然后通過克隆的方式克隆一個Linux,并將其命名為Redis_slave.
注意克隆方式:右擊虛擬機->管理->克隆->最后一直點擊下一步。
克隆后的效果是:
其中master的ip地址是192.168.6.26,slave的ip地址是192.168.6.25
用master主機ping slave主機,如果ping同了,則說明兩臺虛擬機是可以連通的。
?
下面開始啟動master: /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
進入master的客戶端 [toto@localhost ~]$ /usr/local/redis/bin/redis-cli -a toto 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> flushall OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> |
? |
配置從機,修改配置文件:vim /usr/local/redis/etc/redis.conf 配置slaveof,配置的內容是:slaveof 192.168.6.26 6379 配置masterauth,配置的內容是:masterauth toto |
啟動slave /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
登錄slave /usr/local/redis/bin/redis-cli -a toto ? 至此:主從復制配置完成 |
?我們怎樣判斷哪個是主哪個是從呢?我們只需要調用info就可以得到主從的信息,我們在從庫中執行info。
參考資料:
一、Redis的Replication: |
?
總結
以上是生活随笔為你收集整理的06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修复u盘是死机怎么办 U盘死机修复方法大
- 下一篇: 大众朗逸蓝牙怎么打开