【问题标题】:Export amazon mysql database to an excel sheet将 amazon mysql 数据库导出到 Excel 工作表
【发布时间】:2019-05-25 05:13:23
【问题描述】:

我有一个 ec2-instance,上面有 mysql 数据库,现在有多个表具有巨大的值,我想将这些表导出到我的本地系统中的 excel 表中,甚至 S3 的某个地方也可以工作,我该怎么做实现这个?

【问题讨论】:

标签: amazon-s3 amazon-ec2 aws-sdk amazon-rds


【解决方案1】:

鉴于您在 EC2 节点上安装了自己的 MySQL 实例,您应该可以完全访问 MySQL 的功能。我看不出有什么理由你不能在这里做一个SELECT ... INTO OUTFILE

SELECT *
FROM yourTable
INTO OUTFILE 'output.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

获得 CSV 文件后,您可以将其传输到运行 Excel 的盒子中,并使用 Excel 导入向导导入数据。

编辑:

根据您下面的 cmets,您可能需要仔细选择 MySQL 和您的用户有权写入的输出路径和位置。

【讨论】:

  • 不工作,它说用户''@'%'的访问被拒绝(使用密码:YES)
  • 如果您甚至无法连接到 EC2 上的 MySQL 实例,那么您将遇到一个完全不同的问题。这与如何从 MySQL 导出数据无关。如果连不上MySQL,基本上什么都做不了。
  • 但是我可以登录到我的实例并访问我的数据库并查看我的所有表格
  • 那么可能是位置问题。请参阅我的更新答案。
  • 是否 output.csv 应该已经存在或者它会自动创建一个
【解决方案2】:

另一种从 RDS Mysql 导出 CSV 文件而不获取 Access denied for user '<databasename>'@'%' (using password: YES) 的方法是执行以下命令:

mysql -u username -p --database=dbname --host=rdshostname --port=rdsport --batch -e "select * from yourtable" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > yourlocalfilename.csv

秘诀就在这部分: --batch -e "select * from yourtable" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > yourlocalfilename.csv

【讨论】:

    猜你喜欢
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2013-06-19
    • 2014-04-08
    • 1970-01-01
    相关资源
    最近更新 更多