redis 主從同步搭建


redis 一主二從

1.redis 安裝

  安裝教程:https://www.cnblogs.com/zwcry/p/9505949.html

2.redis主從

  1)創建主從目錄

    mkdir /usr/local/redis-ms

    cd /usr/local/redis-ms/

    mkdir 6381

    mkdir 6382

    mkdir 6382

  2)復制redis.conf到主從目錄

    cp /usr/local/redis/redis.conf ./6381/

    cp /usr/local/redis/redis.conf ./6382/

    cp /usr/local/redis/redis.conf ./6383/

  3)修改主./6381/redis.conf

    vim ./6381/redis.conf

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以連接

    protected-mode no#關閉保護,允許非本地連接

    port 6381#端口號

    daemonize yes#后台運行

    pidfile /var/run/redis_6381.pid#進程守護文件,就是存放該進程號相關信息的地方

    dir /usr/local/redis-ms/6381/#db等相關目錄位置

    appendonly yes#開啟日志形式

  4)修改從./6382/redis.conf

    vim ./6382/redis.conf

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以連接

    protected-mode no#關閉保護,允許非本地連接

    port 6382#端口號

    daemonize yes#后台運行

    pidfile /var/run/redis_6382.pid#進程守護文件,就是存放該進程號相關信息的地方

    dir /usr/local/redis-ms/6382/#db等相關目錄位置

    slaveof 192.168.194.131 6381#主信息

    appendonly yes#開啟日志形式

  5)修改從./6383/redis.conf

    vim ./6383/redis.conf 

    #修改如下key的值

    bind 0.0.0.0#任意ip都可以連接

    protected-mode no#關閉保護,允許非本地連接

    port 6383#端口號

    daemonize yes#后台運行

    pidfile /var/run/redis_6383.pid#進程守護文件,就是存放該進程號相關信息的地方

    dir /usr/local/redis-ms/6383/#db等相關目錄位置

    slaveof 192.168.194.131 6381#主信息

    appendonly yes#開啟日志形式

3.啟動測試

  1)啟動

    cd /usr/local/redis-ms/

    /usr/local/redis/src/redis-server ./6381/redis.conf

    /usr/local/redis/src/redis-server ./6382/redis.conf

    /usr/local/redis/src/redis-server ./6383/redis.conf

    ps -ef|grep redis

    

    #查看主從是否搭建成功

    /usr/local/redis/src/redis-cli -p 6381

    info

    如圖:

    

  2)測試

    /usr/local/redis/src/redis-cli -p 6381 --raw

    set name '丁潔'

    get name

    

    /usr/local/redis/src/redis-cli -p 6382 --raw

    get name

    

      /usr/local/redis/src/redis-cli -p 6382 --raw

    get name

    

    注:

    --raw 中文顯示

    主6381設置name值,可以在從6382、6383取到,但是從不能設置值。

4.開機自啟服務

  mkdir /usr/local/redis-ms/script

  cd /usr/local/redis-ms/script/

  1)start.sh啟動腳本

    vim ./start.sh

#!/bin/sh
/usr/local/redis/src/redis-server /usr/local/redis-ms/6381/redis.conf /usr/local/redis/src/redis-server /usr/local/redis-ms/6382/redis.conf /usr/local/redis/src/redis-server /usr/local/redis-ms/6383/redis.conf

 

  2)stop.sh停止腳本

    vim ./stop.sh    

#!/bin/sh
/usr/local/redis/src/redis-cli -p 6381 shutdown /usr/local/redis/src/redis-cli -p 6382 shutdown /usr/local/redis/src/redis-cli -p 6383 shutdown

 

  3)restart.sh重啟腳本

    vim ./restart.sh

#!/bin/sh systemctl stop redis-ms systemctl start redis-ms

  4)改變權限

    chmod 777 ./*

    

  5)編寫開機服務

    cd /usr/lib/systemd/system/

    vim redis-ms.service

[Unit] Description=redis-ms After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/redis-ms/script/start.sh ExecStop=/usr/local/redis-ms/script/stop.sh ExecReload=/usr/local/redis-ms/script/restart.sh [Install] WantedBy=multi-user.target 

    改變權限

      chmod 777 redis-ms.service

    進程服務重加載

      systemctl daemon-reload

    開機啟動主從

      systemctl enable redis-ms.service

    啟動主從

      systemctl start redis-ms.service

    關閉主從

      systemctl stop redis-ms.service

    重啟主從

      systemctl restart redis-ms.service

  

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM