如何将 Memgraph 数据持久化到本地硬盘?
How to persist Memgraph data to local hard drive?
我 运行 Memgraph 在 Windows 11 WSL 上使用此命令:
docker run -it -p 7687:7687 -p 3000:3000 -e MEMGRAPH="--bolt-port=7687" -v mg_lib:/mnt/c/temp/memgraph/lib -v mg_log:/mnt/c/temp/memgraph/log -v mg_etc:/mnt/c/temp/memgraph/etc memgraph
然后我创建了一个节点,
但我检查了一下,那些文件夹仍然是空的。
如何将Memgraph数据持久化到本地硬盘?
Memgraph 使用两种机制来确保数据持久性:
- 预写日志 (WAL) 和
- 定期快照。
在整个 运行Memgraph 期间定期拍摄快照。当触发快照时,整个数据存储被写入磁盘。预写日志保存文件发生的所有数据库修改。当 运行ning Memgraph 与 Docker 时,这两种机制都依赖于用户创建将在启动 Memgraph 时存储此数据的卷。
每个卷有两个字段要指定。
第一个是卷的名称,它在给定的主机上是唯一的。在您的情况下,这将是 mg_lib、mg_log 和 mg_etc。
第二个字段是文件或目录在容器中的挂载路径。对于 Memgraph,这将是:
/var/lib/memgraph
(这是保存耐久度相关文件的地方)
/var/log/memgraph
(日志)
/etc/memgraph
(配置设置)
给定这些路径,使用 Docker 到 运行 Memgraph 的命令是:
sudo docker run -it -p 7687:7687 -p 3000:3000 -v mg_lib:/var/lib/memgraph -v mg_log:/var/log/memgraph -v mg_etc:/etc/memgraph memgraph
默认情况下,主机上的卷可以在以下位置找到:
\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
我希望这个答案可以提供一些清晰度。
我 运行 Memgraph 在 Windows 11 WSL 上使用此命令:
docker run -it -p 7687:7687 -p 3000:3000 -e MEMGRAPH="--bolt-port=7687" -v mg_lib:/mnt/c/temp/memgraph/lib -v mg_log:/mnt/c/temp/memgraph/log -v mg_etc:/mnt/c/temp/memgraph/etc memgraph
然后我创建了一个节点, 但我检查了一下,那些文件夹仍然是空的。
如何将Memgraph数据持久化到本地硬盘?
Memgraph 使用两种机制来确保数据持久性:
- 预写日志 (WAL) 和
- 定期快照。
在整个 运行Memgraph 期间定期拍摄快照。当触发快照时,整个数据存储被写入磁盘。预写日志保存文件发生的所有数据库修改。当 运行ning Memgraph 与 Docker 时,这两种机制都依赖于用户创建将在启动 Memgraph 时存储此数据的卷。
每个卷有两个字段要指定。 第一个是卷的名称,它在给定的主机上是唯一的。在您的情况下,这将是 mg_lib、mg_log 和 mg_etc。 第二个字段是文件或目录在容器中的挂载路径。对于 Memgraph,这将是:
/var/lib/memgraph
(这是保存耐久度相关文件的地方)/var/log/memgraph
(日志)/etc/memgraph
(配置设置)
给定这些路径,使用 Docker 到 运行 Memgraph 的命令是:
sudo docker run -it -p 7687:7687 -p 3000:3000 -v mg_lib:/var/lib/memgraph -v mg_log:/var/log/memgraph -v mg_etc:/etc/memgraph memgraph
默认情况下,主机上的卷可以在以下位置找到:
\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
我希望这个答案可以提供一些清晰度。