Redis主從配置
一、redis安裝
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make
二、redis啟動
$cd redis-2.8.17
$src/redis-server ./redis.conf #啟動redis
或者
$src/redis-server ./redis.conf & #后臺啟動
三、主從配置
1、拷貝 redis-2.8.17文件夾
$cp -r redis-2.8.17 ./redis-slave
2、設定兩個文件夾目錄為redis-master和redis-slave
3、配置redis-master
daemonize yes #是否以后臺進程運行,默認為no
requirepass master-password #連接密碼
pidfile /var/run/redis.pid #如以后臺進程運行,則需指定一個pid,默認為/var/run/redis.pid
port 6379 #主服務器端口,默認值
dbfilename dumpmaster.rdb #本地數據庫文件名,默認值為dump.rdb
dir ./ #本地數據庫存放路徑,默認值為 ./
4、配置redis-slave
daemonize yes
requirepass slave-password
pidfile /var/run/redis.pid
slaveof 127.0.0.1 6379 #當本機為從服務時,設置主服務的IP及端口
masterauth master-password #當本機為從服務時,設置主服務的連接密碼
port 7000 #設定從服務器端口
dbfilename dumpslave.rdb
dir ./
5、分別啟動主從服務
$cd redis-master
$src/redis-server ./redis.conf
$cd redis-slave
$src/redis-server ./redis.conf
6、分別連接兩個redis server在主數據庫中添加刪除key,查看slave數據庫中是否做了相應的修改
7、將從數據庫數據恢復到主數據庫
假設redis-master和redis-slave在同一臺服務器同一個目錄下
$redis-cli #查看主服務器是否能連上
$auth master-password #登入
$shutdown #關掉服務
$cd redis-master
$mv dump.rdb dump_bak.rdb #備份主數據庫
$cp ../redis-slave/dumpslave.rdb ./dumpmaster.rdb
$src/redis-server ./redis.conf #重啟master服務
注意:
當主數據庫掛掉后,請不要再啟動主服務器,應該將從服務器的數據恢復到master數據庫后再啟動。
因為主服務器掛掉后,比如數據都沒有了,如果立即啟動,那么從服務器的數據將被清空,
做的主從關系備份沒有意義了。