我在ec2-instance上有mysql数据库,现在有多个表具有巨大的价值,我想将它们导出到excel工作表中到我的本地系统,或者甚至在S3的某个地方也可以工作,我怎么办实现这一目标?
答案 0 :(得分:1)
从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
答案 1 :(得分:0)
鉴于您已在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导入向导来导入数据。
编辑:
根据下面的评论,您可能需要仔细选择MySQL和您的用户有权写入的输出路径和位置。