Redis是記憶體中的鍵值快取和儲存(即資料庫),也可以永久保存到磁碟。在本文中,你將了解,如何在Centos 7上備份還原您的redis資料庫。
預設情況下,Redis資料將保存到磁碟中的.rdb檔案中,該檔案是Redis資料集的時間點快照。快照是按照指定的時間間隔進行的,所以對於備份來說是完美的。
在Centos 7和其他Linux發行版中,Redis資料庫目錄預設為/var/lib/redis。但是,如果您變更了redis儲存位置,則可以透過鍵入以下命令來尋找:
[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
復原備份需要您使用復原檔案取代現有的Redis資料庫檔案。為確保原始資料檔案不會被破壞,我們建議盡可能恢復到新的Redis伺服器。
停止Redis資料庫,一旦停止,Redis資料庫處於離線狀態。
[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核实数据了。
注意說明:
根據需求,關閉AOF,AOF追蹤每個寫入操作到Redis資料庫。由於我們試圖從時間點備份中恢復,所以我們不希望Redis重新建立儲存在其AOF檔案中的操作。
是否開啟AOF可以透過檢視檔案得知:
[root@renwolecom ~]# ls /var/lib/redis/
如果看到.aof後綴的文件,表示你啟用了AOF。
重新命名.aof文件,
[root@renwolecom ~]# mv /var/lib/redis/*.aof /var/lib/redis/appendonly.aof.old
如果有多個.aof文件,請單獨命名。
編輯你的Redis設定檔暫時關閉AOF:
[root@renwolecom ~]# vim /etc/redis/redis.conf appendonly no
以上是Centos 7備份和恢復Redis數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!