昨天发表了一篇RAGFlow数据备份的文章:RAGFlow如何做数据备份有同学留言让我讲下恢复,于是今天这篇文章就来了。

1、各组件介绍
查看组件:
docker ps组件列表:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2、运维视角关键结论
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3、灾难恢复
根据数据重要程度决定恢复顺序:
1️⃣ MinIO 数据
2️⃣ MySQL
3️⃣ Elasticsearch Snapshot
1)恢复minio
需要将备份的bucket依次往回覆盖
cd /opt/ragflow_backup/miniofor d in `ls`do mc mirror --overwrite $d ragflow/$ddone2)恢复mysql
docker exec -i docker-mysql-1 mysql -uroot -pinfini_rag_flow rag_flow < /opt/ragflow_backup/mysql/ragflow_2025-12-16.sql
说明: docker-mysql-1为mysql容器名字, /opt/ragflow_backup/mysql/ragflow_2025-12-16.sql为最新的备份文件
3)恢复es数据
curl -u elastic:infini_rag_flow -X POST "http://localhost:1200/_snapshot/ragflow_backup/snapshot_2025_12_16/_restore" -H "Content-Type: application/json" -d '{ "indices": "*", "rename_pattern": "(.+)", "rename_replacement": "restore-$1", "include_global_state": false }'说明:如果es中对应的索引存在,则无法使用此命令直接恢复。如果你想测试恢复,需要先删除掉对应的索引。


