Comment créer une sauvegarde locale d'une base de données MySQL Amazon RDS distante?

12

Comment créer une sauvegarde locale d'une base de données MySQL Amazon RDS distante? Ce que je dois savoir, c'est comment faire une sauvegarde locale complète d'une base de données MySQL (pas un instantané Amazon distant) qui peut être utilisée pour restaurer vers une nouvelle base de données n'importe où, sur n'importe quel serveur MySQL (même version bien sûr).

REMARQUE: je sais comment importer des données à partir d'un fichier plat via MySQL. Voici comment je me connecte:

mysql -h mydb.xxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p

Voici comment je charge une seule table de base de données:

mysql> LOAD DATA LOCAL INFILE 'C:/Temp/t1.tab' INTO TABLE t1 LINES TERMINATED BY '\r\n';
djangofan
la source
Est-il possible de télécharger l'un des instantanés enregistrés sur AWS sur ma machine locale? Je préfère ne pas me connecter directement à ma base de données pour obtenir ces sauvegardes.
modulitos

Réponses:

9

mysqldump --databases mydb -h xxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p > rds.sql

nlo
la source
La réponse s'est avérée être: mysqldump --databases myDB -v -h mydbInst.xxxxxx.us-east-1.rds.amazonaws.com -u myuser -P 3306 -p> rdsmyDB.sql
djangofan
2
Cela échoue pour les bases de données même de taille moyenne. L'instance RDS expire et interrompt la connexion, ce que mysqldump interprète malheureusement comme "téléchargement terminé". Je ne peux télécharger qu'environ 30 Mo de ma base de données 175 Mo avant que mysqldump échoue.
Cerin
Salut, j'essaie de l'utiliser pour créer un bakup distant de Mysql dans aws. J'obtiens un accès d'erreur refusé même avec des informations d'identification correctes est-ce à cause de la sécurité de aws ssh? J'ai essayé depuis Windows et le serveur Jenkins local avec la même erreur
Utsav Gupta
1
la même commande que j'obtiens Erreur 1045: accès refusé pour l'utilisateur «root» avec l'utilisateur root
Sushivam
1
@modulitos vous devez créer une instance à partir d'un instantané, puis mysqldump cette instance
Raisen
1

mysqldump devrait être utilisé avec --single-transaction si vous utilisez InnoDB. Nous effectuons nos sauvegardes à l'aide d'une micro-instance AWS, puis transférons / archivons celle-ci sur site. Cela est également configuré pour exécuter un esclave jenkins et tout cela est géré via un serveur jenkins central que nous exécutons sur site.

user1819998
la source