Milvus 数据迁移指南

本指南适用于从 Milvus v0.7.0~0.10.6 至 Milvus v1.0.0 的数据迁移.

  • Milvus v0.11.0 以及早于 v0.7.0 的版本与 Milvus v1.0.0 不兼容。
  • [MilvusDM 可支持从 Milvus v0.10.x 至 v1.0.0 的数据迁移。

第 1 步:关闭当前版本 Milvus

停止当前版本的 Milvus:

  1. docker stop [Your_milvus_container_id]

删除 /milvus 下的 /conf/logs/wal 文件夹:

  1. cd ~/milvus
  2. sudo rm -rf ./conf
  3. sudo rm -rf ./logs
  4. sudo rm -rf ./wal

如需保留日志文件,请将 logs 文件夹备份到其他目录。

第 2 步:下载配置文件

新建 conf 目录并下载 v1.0.0 的配置文件:

  1. mkdir conf
  2. cd conf
  3. wget https://raw.githubusercontent.com/milvus-io/milvus/v1.0.0/core/conf/demo/server_config.yaml

如果下载不成功,可在网页中打开下载网址,在 conf 目录下新建同名文件,把网页中的内容粘贴到文件中保存。

第 3 步:确认、更新 MySQL/SQLite 服务端地址

  1. vim ./server_config.yaml

确保新版本配置项 general.meta_uri 指定的 MySQL/SQLite 服务端地址与老版本配置项 db_config.backend_url 指定的服务端地址一致。以 MySQL 为例,更新的配置信息如下所示:

  1. general:
  2. timezone:UTC+8
  3. meta_uri: mysql://root:123456@<MySQL_server_host IP>:3306/milvus

第 4 步:下载并启动新版 Milvus

使用相同的映射路径下载并启动 Milvus v1.0.0 容器:

  1. $ sudo docker run -d --name milvus_cpu_1.0.0 \
  2. -p 19530:19530 \
  3. -p 19121:19121 \
  4. -v /home/$USER/milvus/db:/var/lib/milvus/db \
  5. -v /home/$USER/milvus/conf:/var/lib/milvus/conf \
  6. -v /home/$USER/milvus/logs:/var/lib/milvus/logs \
  7. -v /home/$USER/milvus/wal:/var/lib/milvus/wal \
  8. milvusdb/milvus:1.0.0-cpu-d030521-1ea92e

第 5 步:安装对应版本的 Python SDK

  1. pip3 install pymilvus==1.0.1

第 6 步:验证数据正确性

编写 Python 脚本调用相关接口验证数据正确性。