我有一个在Amazon RDS中运行的mysql数据库,我想知道如何将整个表导出为csv格式。我目前在Windows上使用mysql服务器查询Amazon数据库,但是当我尝试运行导出时,我得到一个错误,可能是因为没有用于Amazon RDS的专用文件服务器。有什么解决办法吗?
大概您正在尝试通过查询从Amazon RDS数据库导出SELECT ... INTO OUTFILE,这会引起这个确实常见的问题,请参阅例如将数据库导出到CSV。各自的AWS团队响应确认了您缺乏服务器访问权限的假设,从而阻止了导出,并通过 在mysql命令行客户端中选择数据并通过管道输出以重新格式化数据的方式以CSV格式 导出 数据 ,提出了一种替代方法。 作为CSV ,就像这样:
SELECT ... INTO OUTFILE
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
如果您事先知道并指定了字段,则用户fpalero 提供了一种替代方法,并且可能是更简单的方法:
mysql -uroot -ppassword --database=dbtest -e "select concat(field1,',',field2,',',field3) FROM tabletest" > tabletest.csv
祝好运!