你的位置:首页 > 数据库

[数据库]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数据库后再启动。

      因为主服务器挂掉后,比如数据都没有了,如果立即启动,那么从服务器的数据将被清空,

      做的主从关系备份没有意义了。