gpt4 book ai didi

mysql - 如何将本地数据库的表数据上传到云服务?

转载 作者:行者123 更新时间:2023-11-29 16:03:45 24 4
gpt4 key购买 nike

我想将数据库从本地上传到AWS等云服务。我已经成功从本地数据库创建了数据库以及云数据库中的表和列,但无法传输数据。

我尝试使用 python 使用 outfile 和 infile 命令,但出现错误

mycursor3.execute("SELECT * FROM %s INTO OUTFILE '/var/lib/mysql-files/test.csv' "% (tb[0]))
sqlformula="LOAD DATA LOCAL INFILE 'test.csv' INTO TABLE %s "% (tb[0])
mycursor1.execute(sqlformula)
mydb1.commit()

文件已成功导出,但无法导入到云端。收到错误:mysql.connector.errors.InterfaceError:无法读取文件“test.csv”

最佳答案

假设您有根据您的问题的 csv 文件,您可以执行以下操作:

  1. 将文件上传到配置了 AWS CLI 的 EC2 实例中,并且您可以访问您的数据库。

  2. 根据 AWS 文档,您可以将平面文件分解为以下内容

    split -C 1024m -d test.csv test.part_

在类 Unix 系统(包括 Linux)上,这会将文件分成小于 1 GB 的多个部分。

  • 使用 mysqlimport 实用程序将平面文件加载到 Amazon RDS 中。在示例中,我们告诉 mysqlimport 加载所有名为“test”且扩展名以“part_”开头的文件。这是加载“split”示例中创建的所有文件的便捷方法。使用 --compress 选项最大限度地减少网络流量。 --fields-termerated-by=',' 选项用于 CSV 文件,--local 选项指定传入数据位于客户端。如果没有 --local 选项,Amazon RDS 数据库实例会在数据库主机上查找数据,因此请始终指定 --local 选项。
  • 对于 Linux:

    mysqlimport --local \
    --compress \
    --user=username \
    --password \
    --host=hostname \
    --fields-terminated-by=',' Acme test.part_*

    这是实际的文档:[https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.AnySource.html][1]

    关于mysql - 如何将本地数据库的表数据上传到云服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55936786/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com