日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Redis主從復制操作和配置詳情_Redis

作者:Twpeak_繼續攀登 ? 更新時間: 2022-11-12 編程語言

前言

環境:CentOS7下安裝Redis集群,默認已安裝好5.0及以上版本,操作包括:

  • Redis-server環境變量
  • 配置配置集群的
  • Redis.confRedis主從配置和啟動
  • 測試主從機的數據一致性和讀寫分離

一、Redis-server環境變量

啟動redis服務報錯:

-bash: redis-server: command not found

原因:

沒有配置對應命令,類似于window的環境變量,所以命令找不到

解決辦法:

將安裝目錄下的redis-server執行文件路徑配置到系統執行命令里
ln -s /usr/local/redis/redis-4.0.9/src/redis-server /usr/bin/redis-server

其中
/usr/local/redis/redis-4.0.9/src/redis-server 為安裝目錄下的redis-server服務文件地址

二、配置集群的Redis.conf

我們在一臺服務器上開啟三個Redis服務,模擬redis集群,一主兩從,結構如下 :

端口信息為7001,7002,7003(若使用的服務器記得開啟端口的防火墻)

1.先創建7001~7003的三個目錄,將配置文件放入對應目錄并進行配置

?Redis.conf配置:

  • bind:綁定的 IP,默認是本地,可以指定 IP,表示只有指定的 IP 才可訪問,注釋掉的話則全部 IP 都可訪問。(我們是本地開三個服務,綁定不用動,如果是分布式就0.0.0.0)
  • protected-mode?:保護模式(無密碼 + 無綁定 = 本地訪問),默認開啟。這個不用動
  • port?:端口,改為700x
  • daemonize :表示以守護進程的方式運行,默認 no,需要改為 yes,避免關閉客戶端后,redis 也跟著關閉。我們實驗用的話,可以關掉
  • requirepass :密碼,默認沒有密碼,如果需要則設置密碼
[root@VM-0-4-centos ~]# redis-cli -p 6379
# 獲取密碼
127.0.0.1:6379> config get requirepass	
1) "requirepass"
2) ""
# 設置密碼
>127.0.0.1:6379> config set requirepass	12455
OK
# 重新關閉客戶端再進入時,輸入一下命令,則顯示無權限
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
# 輸入密碼
127.0.0.1:6379> auth 12455
OK

三、配置主從服務器

有臨時和永久兩種模式:

  • 修改配置文件(永久生效)
  • 在redis.conf中添加一行配置:slaveof <masterip> <masterport>
  • 使用redis-cli客戶端連接到redis服務,執行slaveof命令(重啟后失效):

slaveof <masterip> <masterport>

四、啟動三臺Redis服務器

[root@localhost bin]# redis-server /myredis/redis6379.conf
[root@localhost bin]# redis-server /myredis/redis6380.conf
[root@localhost bin]# redis-server /myredis/redis6381.conf
[root@localhost bin]# ps -ef | grep redis
root       2999      1  0 11:58 ?        00:00:00 redis-server *:6379
root       3013      1  0 11:59 ?        00:00:00 redis-server *:6380
root       3019      1  0 11:59 ?        00:00:00 redis-server *:6381
root       3025   2189  0 11:59 pts/0    00:00:00 grep --color=autoredis

?使用命令登錄三個redis

redis -p  <port> -a 密碼   指定端口號登錄redis

執行下列操作以測試:

  • 利用redis-cli連接7001,執行set num 123
  • 利用redis-cli連接7002,執行get num,再執行set num 666
  • 利用redis-cli連接7003,執行get num,再執行set num 888

我們對從機進行寫操作發現報錯

對主機進行寫操作,從機可以獲取

可以發現,只有在7001這個master節點上可以執行寫操作,7002和7003這兩個slave節點只能執行讀操作。

原文鏈接:https://blog.csdn.net/qq_48826531/article/details/126943423

欄目分類
最近更新