You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MySQL数据库迁移至Memgraph?是否需转储为特定格式后导入?

MySQL 到 Memgraph 的迁移操作指南

方式一:通过CSV转储后导入(通用方案)

这种方式适配所有版本的MySQL和Memgraph,操作步骤清晰可控:

  • 1. 从MySQL导出数据为CSV
    使用SELECT ... INTO OUTFILE命令导出单表数据,示例导出用户表:
    SELECT id, name, email INTO OUTFILE '/tmp/users.csv'
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    FROM users;
    
    关联表需分别导出,务必保留关联字段(如user_id),用于后续在Memgraph中构建关系。
  • 2. 在Memgraph中定义图模型
    根据原有MySQL表结构设计图模式,比如将users表转为User节点,orders表转为Order节点,通过user_id建立:PURCHASED关系:
    CREATE CONSTRAINT ON (u:User) ASSERT u.id IS UNIQUE;
    CREATE CONSTRAINT ON (o:Order) ASSERT o.id IS UNIQUE;
    
  • 3. 导入CSV到Memgraph
    用Memgraph的LOAD CSV命令导入节点:
    LOAD CSV FROM "/tmp/users.csv" WITH HEADER AS row
    CREATE (:User {id: toInteger(row.id), name: row.name, email: row.email});
    
    导入关系时,通过关联字段匹配已创建的节点:
    LOAD CSV FROM "/tmp/orders.csv" WITH HEADER AS row
    MATCH (u:User {id: toInteger(row.user_id)})
    CREATE (o:Order {id: toInteger(row.id), total: toFloat(row.total)})
    CREATE (u)-[:PURCHASED]->(o);
    

方式二:使用Memgraph的MySQL直接导入工具(高效方案)

Memgraph自带mg_import_mysql工具,可直接连接MySQL数据库,自动映射表结构为图模型,省去转储步骤:

  • 1. 准备连接信息
    确认Memgraph已安装该工具,准备好MySQL的主机地址、端口、用户名、密码及目标数据库名。
  • 2. 执行导入命令
    直接运行导入命令,指定要导入的表,示例:
    mg_import_mysql --host=127.0.0.1 --port=3306 --user=root --password=your_password --database=shop --tables=users,orders
    
    工具默认将MySQL表转为同名单标签节点,外键关系转为对应类型的边。若需自定义映射规则,可通过配置文件指定节点标签、关系类型等。

关键注意事项

  • 数据类型适配:MySQL的INT、VARCHAR可直接对应Memgraph的整数、字符串类型;DATE/DATETIME需转为字符串或Memgraph时间戳类型。
  • 性能优化:迁移完成后,及时在Memgraph中创建唯一约束或索引,提升查询效率。
  • 大表处理:数据量较大时,建议分批次导入,避免内存溢出。

内容的提问来源于stack exchange,提问作者KWriter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:25:48