将数据从 CSV 文件导入 Amazon Web Services RDS MySQL 数据库

Gay*_*iar 2 mysql amazon-s3 mysql-workbench amazon-web-services amazon-rds

我创建了一个托管在 Amazon Web Services 上的关系数据库 (MySQL)。我接下来要做的是,将本地 CSV 文件中的数据导入到该数据库中。如果有人向我提供有关如何去做的大纲,我将不胜感激。谢谢!

小智 7

通过使用 MySQL 命令行,这是最简单和最不干涉的。对于大负载,请考虑启动一个新的 EC2 实例,安装 MySQL CL 工具,并将您的文件传输到该机器。然后,通过 CL 连接到数据库后,您将执行以下操作:

mysql> LOAD DATA LOCAL INFILE 'C:/upload.csv' INTO TABLE myTable;
Run Code Online (Sandbox Code Playgroud)

还可以选择匹配文件的详细信息并忽略标题(文档中还有很多)

mysql> LOAD DATA LOCAL INFILE 'C:/upload.csv' INTO TABLE myTable FIELDS TERMINATED BY ','
ENCLOSED BY '"' IGNORE 1 LINES;
Run Code Online (Sandbox Code Playgroud)

如果您对使用 CL 犹豫不决,请下载 MySQL Workbench。它不会将任何问题连接到 AWS RDS。

结语:

  • MySQL 负载数据文档
  • AWS 的 Aurora RDS 与 MySQL 兼容,因此命令也可以在那里运行
  • “LOCAL”标志实际上将文件从您的客户端机器(您运行命令的地方)传输到数据库服务器。如果没有 LOCAL,文件必须在 DB 服务器上(不能用 RDS 提前将它传输到那里)
  • 也适用于大文件!刚刚通过这种方法发送了一个 8.2GB 的文件(2.6 亿行)。从 t2-medium EC2 到 db.t2.small Aurora 只用了 10 多个小时
  • 如果您需要注意唯一键或逐行读取 CSV 并在插入/更新之前更改数据,则这不是解决方案