77 votes

Comment utiliser le dumping MySQL à partir d'une machine distante

Comment puis-je sauvegarder une base de données mysql qui fonctionne sur un serveur distant, j'ai besoin de stocker le fichier de sauvegarde dans le PC local.

86voto

CloudyMarble Points 16155

Essayez-le avec Mysqldump

#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql

57voto

Ian Jamieson Points 1078

Vous avez accès à SSH ?

Vous pouvez utiliser cette commande dans le shell pour sauvegarder une base de données entière :

mysqldump -u [username] -p[password] [databasename] > [filename.sql]

Il s'agit en fait d'une commande suivie de la commande > qui dit "prends la sortie de la commande précédente et enregistre-la dans ce fichier".

Note : L'absence d'espace entre -p et le mot de passe mysql n'est pas une faute de frappe. Cependant, si vous laissez l'espace -p flag présent, mais le mot de passe réel vide, alors vous serez invité à saisir votre mot de passe. Ceci est parfois recommandé pour garder les mots de passe en dehors de votre historique bash.

44voto

kavoir.com Points 2813

Personne ne parle de la --single-transaction option. On devrait l'utiliser par défaut pour les tables InnoDB afin d'assurer la cohérence des données. Dans ce cas :

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]

Cela permet de s'assurer que le dump est exécuté dans une seule transaction isolée des autres, empêchant ainsi la sauvegarde d'une transaction partielle.

Par exemple, considérons que vous avez un serveur de jeu où les gens peuvent acheter des engrenages avec les crédits de leur compte. Il y a essentiellement 2 opérations sur la base de données :

  1. Déduire le montant de leurs crédits
  2. Ajouter l'équipement à leur arsenal

Maintenant, si le vidage se produit entre ces opérations, la prochaine fois que vous restaurerez la sauvegarde, l'utilisateur perdra l'article acheté, car la deuxième opération n'est pas vidée dans le fichier de vidage SQL.

Bien que ce soit juste un option il n'y a pas vraiment de raison de ne pas utiliser cette option avec mysqldump.

20voto

Unnawut Points 1908

Ce sujet apparaît sur la première page de mon résultat Google, alors voici un petit conseil utile pour les nouveaux venus.

Vous pouvez aussi vider le fichier SQL et le compresser en une seule ligne :

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]

3voto

mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X