tar -zxvf redis-{version}.tar.gz
cd redis-{version}
1 | make |
Redis5.0之后版本编译支持systemd,6.0版本之后编译支持TLS,编译时选择需要的编译选项。
1 | make USE_SYSTEMD=yes BUILD_TLS=yes |
1 | sudo yum install openssl openssl-devel |
1 | sudo yum install systemd-devel |
1 2 | make install make PREFIX={install_path} install |
1 | sudo yum install redis |
1 | find / -name redis.service |
1 | vi redis.service
|
1 | ExecStart={install_path}/bin/redis-server {conf_path} |
1 | systemctl daemon-reload
|
1 | systemctl start redis.service |
1 | systemctl status redis.service |
当“Active”字段显示包含“active(running)”表示成功。
1 | systemctl stop redis.service |
在原服务器上执行指令以定位数据和配置文件,然后在目标服务器挂载目录中找到相应的文件并进行迁移。如果一台服务器上运行多个Redis实例,需要对每个实例单独执行迁移配置文件、数据文件等的操作。
进入Redis的src目录下,启动redis-server,再启动redis-cli服务,在redis-cli内输入:
1 | INFO |
找到“config_file:”字样记录下配置文件地址,将配置文件替换掉安装目录下的redis.conf文件,注意如果“config_file:”中为空,说明启动时未指定配置文件,可跳过该步骤。
1 | save |
1 | CONFIG GET appendonly |
1 | CONFIG GET dir |
查询RDB文件名:
1 | CONFIG GET dbfilename |
请进入查询到的dir目录,根据输出的文件名查找.rdb文件,将.rdb文件迁移到目标服务器上Redis配置文件中指定的dir目录下,且RDB文件名与配置文件中参数dbfilename一致。若dir设置为./,则应将.rdb文件迁移到目标服务器上安装Redis的相对路径中的相应位置。
1 | CONFIG GET dir |
部署在其他机器上的主从、哨兵节点也可以按照相似的方式修改。
1 | /usr/local/bin/redis-server |
1 | systemctl start redis.service |
1 | systemctl status redis.service |
当“Active”字段显示包含“active(running)”表示成功。