客户网站回访,以公开的文化,食品品牌策划方案,中山专业做网站公司文章目录 一. 官网说明1. 操作说明2. 注意事项 二. docker 容器化操作1. 导出#xff08;备份#xff09;停止容器执行备份 2. 导入#xff08;恢复#xff09;停止容器(如果未停止)执行导入 3. 启动容器 一. 官网说明
https://neo4j.com/docs/operations-manual/current/… 文章目录 一. 官网说明1. 操作说明2. 注意事项 二. docker 容器化操作1. 导出备份停止容器执行备份 2. 导入恢复停止容器(如果未停止)执行导入 3. 启动容器 一. 官网说明
https://neo4j.com/docs/operations-manual/current/docker/dump-load/
1. 操作说明
确定备份工具 使用 Neo4j 提供的 neo4j-admin 工具。此工具适用于 Neo4j 4.x 版本可用来创建数据库的完整备份。 逐个备份所有数据库 Neo4j 支持多数据库架构每个数据库需要单独备份。通过运行多个命令依次备份每个数据库。 检查备份 验证备份是否成功检查备份目录中的内容确保所有数据库都已备份。 2. 注意事项
备份目录的存储空间 确保目标目录有足够的存储空间容纳所有备份文件。 数据库的一致性 在备份期间建议不要进行写操作以避免数据不一致。 备份权限 运行备份命令的用户需要具有访问 Neo4j 安装目录和目标备份目录的权限。 二. docker 容器化操作
导出和导入时都需要停止容器因为正在启动的容器不允许操作如下操作日志
neo4j-admin database dump --to-path/neo4j/backup/ neo4j# neo4j-admin database dump --to-path/neo4j/backup/ neo4j
2024-12-11 13:24:49.1260000 INFO [o.n.c.d.DumpCommand] Starting dump of database neo4j
2024-12-11 13:24:49.1460000 ERROR [o.n.c.d.DumpCommand] Failed to dump database neo4j: The database is in use. Stop database neo4j and try again.
2024-12-11 13:24:49.1480000 ERROR [o.n.c.d.DumpCommand] Dump failed for databases: neo4j
Dump failed for databases: neo4j
Run with --verbose for a more detailed error message.也就是说我们无法在容器内进行操作需要停止容器后进行备份恢复 1. 导出备份
停止容器
首先停止要导出的neo4j数据库在docker compose文件所在位置下执行
docker compose stop neo4j[] Stopping 1/1✔ Container neo4j Stopped 执行备份
在docker compose文件同级目录下执行
docker run --interactive --tty --rm \--volume./neo4j/data:/data \--volume./neo4j/data/backup:/neo4j/backup/ \neo4j \
neo4j-admin database dump neo4j --to-path/neo4j/backup/# 如下日志
neo4j-admin database dump neo4j --to-path/neo4j/backup/
2024-12-11 13:01:51.8640000 INFO [o.n.c.d.DumpCommand] Starting dump of database neo4j
Done: 36 files, 257.9MiB processed in 0.281 seconds.
2024-12-11 13:01:52.4490000 INFO [o.n.c.d.DumpCommand] Dump completed successfully部分命令解释
### --rm
容器停止后自动删除避免占磁盘空间。
### -v ./neo4j/data/backup:/neo4j/backup/
将宿主机的 /data/neo4j 目录挂载到容器内的 /neo4j/backup/ 目录实现数据共享与持久化。### neo4j-admin database dump neo4j --to-path/neo4j/backup/
在容器内用 neo4j-admin 工具备份名为 neo4j 的数据库备份文件存到容器内 /neo4j/backup/ 目录实际会存到宿主机对应挂载目录。 2. 导入恢复
停止容器(如果未停止)
首先停止要导入的neo4j数据库在docker compose文件所在位置下执行
docker compose stop neo4j执行导入
docker run -it \--rm \-v ./neo4j/data/backup:/neo4j/backup/ \neo4j:latest \neo4j-admin database load --from-path/neo4j/backup/ neo4j
# 如果数据库存在会报如下错误
Failed to load database neo4j: Database already exists: neo4j
Load failed for databases: neo4j
Load failed for databases: neo4j
Run with --verbose for a more detailed error message. 强制导入(谨慎操作)
docker run -it \--rm \-v ./neo4j/data/backup:/neo4j/backup/ \neo4j:latest \neo4j-admin database load --from-path/neo4j/backup/ neo4j --overwrite-destinationtrueDone: 36 files, 257.9MiB processed in 0.209 seconds.部分参数说明 ### --rm
容器停止后自动删除节省磁盘空间。### -v./neo4j/data/backup:/neo4j/backup/
将宿主机的 ./neo4j/data/backup 目录挂载到容器内 /neo4j/backup/ 目录实现数据共享与持久化。### neo4j:latest
指定运行Neo4j的最新版本镜像。### neo4j-admin database load --from-path/neo4j/backup/ neo4j --overwrite-destinationtrue
在容器内用 neo4j-admin 工具从 /neo4j/backup/ 路径对应宿主机相关目录加载备份数据到名为 neo4j 的数据库--overwrite-destinationtrue 表示覆盖原有数据库3. 启动容器
docker compose start neo4j