Exportar tabla desde Amazon RDS a un archivo csv
Tengo una base de datos mysql ejecutándose en Amazon RDS, y quiero saber cómo exportar una tabla completa a formato csv. Actualmente uso mysql server en Windows para consultar la base de datos de Amazon, pero cuando intento ejecutar una exportación obtengo un error, probablemente porque no hay un servidor de archivos dedicado para amazon RDS. ¿Hay alguna solución a esto?
2 answers
Es de suponer que está tratando de exportar desde una base de datos Amazon RDS a través de una consulta SELECT ... INTO OUTFILE
, lo que genera este problema común, consulte, por ejemplo, exportar base de datos a CSV. La respectiva respuesta del equipo AWS confirma su suposición de que la falta de acceso al servidor impide una exportación como esta, y sugiere un enfoque alternativo también a través de la exportación sus datos en formato CSV seleccionando los datos en el cliente de línea de comandos mysql y canalizando la salida para reformatear los datos como CSV , así:
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
El usuario fpalero proporciona una alternativa y un enfoque supuestamente más simple, si conoce y especifica los campos por adelantado:
mysql -uroot -ppassword --database=dbtest
-e "select concat(field1,',',field2,',',field3) FROM tabletest" > tabletest.csv
¡Buena suerte!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-02 20:41:52
Estoy usando el framework Yii en EC2 conectándome a RDS MySQL. La clave es usar fputcsv(). Lo siguiente funciona perfectamente, tanto en mi localhost como en producción.
$file = 'path/to/filename.csv';
$export_csv = "SELECT * FROM table";
$qry = Yii::app()->db->createCommand($export_csv)->queryAll();
$fh = fopen($file, "w+");
foreach ($qry as $row) {
fputcsv($fh, $row, ',' , '"');
}
fclose ($fh);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-20 14:22:15