id: data_manage.md

使用 MySQL 管理元数据

Milvus 默认使用 SQLite 管理元数据,SQLite 具有易于使用、高鲁棒的特性,且无需启动额外服务。但是在生产环境中,基于可靠性的考虑,我们强烈建议你使用 MySQL。

Milvus 在 CentOS 系统中不支持 MySQL 8.0 或更高版本。

请参考以下步骤使用 MySQL 作为元数据管理服务:

  1. 拉取 MySQL 最新镜像。

    1. $ docker pull mysql:5.7
  2. 启动 MySQL 服务(密码和端口可自行设置)。

    1. $ docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
  3. 使用 root 账号和 MySQL 服务所在的主机 IP (<MySQL_server_host IP>)登录 MySQL,回车后系统提示输入密码。输入上一步设置的密码。

    1. $ mysql -h<MySQL_server_host IP> -uroot -p
  4. 进入 MySQL 客户端命令行,创建一个 database,名称可自行设定,这里使用 milvus

    1. mysql> create database milvus;
  5. 退出 MySQL 客户端, 修改 server_config.yaml 文件的 meta_uri 参数。使用 MySQL 服务所在的主机 IP 作为 IP 地址(<MySQL_server_host IP>)。注意密码、IP 地址、端口以及 database 名称要和以上几步的设置一致。

    1. meta_uri: mysql://root:123456@<MySQL_server_host IP>:3306/milvus
  6. 使用修改过的 server_config.yaml 启动 Milvus 服务。

常见问题

出现 database is locked 的报错怎么解决? {{fragments/faq_database_locked.md}}
为什么我在 SQLite / MySQL 找不到向量数据? {{fragments/faq_no_embeddings_sqlite_mysql.md}}
Milvus 的元数据存储可以使用 SQL Server 或者 PostgreSQL 吗? {{fragments/faq_supported_meta_db.md}}

数据管理相关博客

从数据导入,数据存储到数据查询和调度,请参阅我们的博客深入了解 Milvus 数据管理方案。