J'ai une base de données mysql en cours d'exécution dans Amazon RDS et je veux savoir comment exporter une table entière au format csv. J'utilise actuellement le serveur mysql sous Windows pour interroger la base de données Amazon, mais lorsque j'essaie d'exécuter une exportation, j'obtiens une erreur, probablement parce qu'il n'y a pas de serveur de fichiers dédié pour amazon RDS. Y a-t-il une solution à cela?
Réponses
Trop de publicités?Il existe une nouvelle façon d'AWS de le faire. Utilisez simplement leur DMS (Service de migration de base de données).
Voici la documentation expliquant comment exporter des tables vers des fichiers sur le stockage S3 : https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html
Vous aurez la possibilité d'exporter en 2 formats : CSV ou parquet.
Si vous utilisez la solution marquée comme correcte, vous remarquerez qu'elle génère un en-tête qui inclut le littéral de chaîne « concat ». Ce n'est évidemment pas ce que vous voulez. Très probablement, vous voudrez les en-têtes correspondants de vos données. Cette requête fonctionnera sans aucune modification, autre que la substitution des noms de colonnes et de tables :
mysql -h xxx.xxx.us-east-2.rds.amazonaws.com
--database=mydb -u admin -p
-e "SELECT 'column1','column2'
UNION ALL SELECT column1,column2
FROM table_name WHERE condition = value" > dataset.csv
Je viens d'ouvrir les résultats dans l'application Numbers osx et le résultat est parfait.