首頁 >系統教程 >Linux >Centos 7備份和恢復Redis數據

Centos 7備份和恢復Redis數據

王林
王林原創
2024-09-02 14:02:32569瀏覽

Centos 7 backup and restore Redis data

何為Redis?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn