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.
Réponses
Trop de publicités?Essayez-le avec Mysqldump
#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql
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.
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 :
- Déduire le montant de leurs crédits
- 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.
- Réponses précédentes
- Plus de réponses