Redis is an in-memory key-value cache and store (i.e. database) that can also be saved permanently to disk. In this article, you will learn how to back up and restore your redis database on Centos 7.
By default, Redis data will be saved to a .rdb file on disk, which is a point-in-time snapshot of the Redis data set. Snapshots are taken at specified intervals, so they're perfect for backups.
In Centos 7 and other Linux distributions, the Redis database directory is /var/lib/redis by default. However, if you have changed the redis storage location, you can find it by typing:
[root@renwolecom ~]# find / -name *rdb 使用redis-cli管理工具进入数据库: [root@renwolecom ~]# redis-cli 由于大部分数据都运行在内存中,redis只会每隔一段时间保存一次,为获取最新副本,请执行以下命令: 10.10.204.64:6379> save OK (1.02s) 另外,如果Redis设置了用户认证,就需要先验证,再保存,例如: 10.10.204.64:6379> auth RenwoleQxl5qpKHrh9khuTW 10.10.204.64:6379> save 之后进行备份即可,例如: [root@renwolecom ~]# cp /var/lib/redis/dump.rdb /apps/redis-backup-20180129
Restoring a backup requires you to replace the existing Redis database file with the recovery file. To ensure that the original data files are not damaged, we recommend restoring to a new Redis server if possible.
Stop the Redis database. Once stopped, the Redis database is offline.
[root@renwolecom ~]# systemctl stop redis 如果恢复到原始Redis服务器,请重命名当前数据文件,之后再进行恢复: [root@renwolecom ~]# mv /var/lib/redis/dump.rdb /var/lib/redis/dump.rdb.old [root@renwolecom ~]# cp -p /apps/redis-backup-20180129/dump.rdb /var/lib/redis/dump.rdb 设置dump.rdb文件权限,拷贝过来的数据文件,可能不具备Redis用户及读取权限,需要手动赋予: [root@renwolecom ~]# chown redis:redis /var/lib/redis/dump.rdb [root@renwolecom ~]# chmod 660 /var/lib/redis/dump.rdb 启动redis [root@renwolecom ~]# systemctl start redis 大功告成!现在你可以登录redis核实数据了。
Note:
According to requirements, close AOF, and AOF tracks each write operation to the Redis database. Since we are trying to restore from a point-in-time backup, we don't want Redis to recreate the operations stored in its AOF files.
Whether AOF is enabled can be known by viewing the file:
[root@renwolecom ~]# ls /var/lib/redis/
If you see a file with the .aof suffix, it means you have AOF enabled.
Rename the .aof file,
[root@renwolecom ~]# mv /var/lib/redis/*.aof /var/lib/redis/appendonly.aof.old
If you have multiple .aof files, please name them separately.
Edit your Redis configuration file to temporarily turn off AOF:
[root@renwolecom ~]# vim /etc/redis/redis.conf appendonly no
The above is the detailed content of Centos 7 backup and restore Redis data. For more information, please follow other related articles on the PHP Chinese website!