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数据库后再启动。
因为主服务器挂掉后,比如数据都没有了,如果立即启动,那么从服务器的数据将被清空,
做的主从关系备份没有意义了。