2010-05-04 6 views
10

Comment puis-je utiliser mysqldump pour sauvegarder et restaurer la base de données sur un serveur distant?Sauvegarde et restauration de mysqldump sur le serveur distant

Les deux ont un accès root. J'utilise du mastic pour effectuer cela.

Jusqu'à présent, j'essayé ce qui suit:

mysqldump -u root -p >z*[email protected] masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --host=207.210.71.26 -C masdagn_joom15temp \g 

mais il a refusé

le mot de passe local est:> z * x311a @

le mot de passe à distance est: g2154hE6-ASXP

+10

Pour l'avenir avis, je serais prudent sur l'affichage publiquement vos informations d'identification de base de données. J'espère que vous les avez changé! –

Répondre

8

Cette link fournit des informations sur la sauvegarde et la restauration avec mysqldump. Il donne également quelques exemples avec un serveur distant.

Les commandes importantes de ce lien étant:

sauvegarde:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql 

restore:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql 
+1

J'utilise vraiment ce mais quand j'entrez la commande mysqldump il me donne rien que l'invite de commande à nouveau – manhag

2
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2 

vous pouvez intégrer cette partie dans un script, par la suite, vous pouvez utiliser FTP pour transférer à l'autre r emplacement.

Pour restaurer, vous pouvez

bzip2 -d db_name.sql.bz2 
mysql --user=username --password=pwd db_name < db_name.sql 
1

Votre mot de passe local contient le caractère >, qui est interprété comme un redirect character par la plupart des coquilles. En règle générale, il vous facilitera la vie si vous gardez vos mots de passe MySQL alphanumériques [A-Za-z0-9]. Et cela rendra votre système plus sûr si vous évitez d'afficher publiquement vos mots de passe.

1
[local-server]# mysqldump -u root -prootpswd db | mysql \ 
       -u root -ptmppassword --host=remote-server -C db1 

[Note: Il y a deux - (trait d'union) devant l'hôte]

S'il vous plaît noter que vous devez d'abord créer la base de données DB1 sur le serveur distant avant d'exécuter la commande suivante.

0

voici ce que je fais pour une décharge rapide à un autre serveur distant ... en supposant que vous avez configuré une clé ssh entre les 2 serveurs

  • créer fichier dump-to-server.sh
  • chmod exécutable (chmod 0755 dump-to-server.sh)
  • exécuter votre synchronisation ./dump-to-server.sh schema_name [email protected]

décharge-t o-server.sh

\#!/bin/bash 

if [[ -z "$1" || -z "$2" ]]; then 
    echo "--------- usage ---------"; 
    echo "./dump-to-server.sh schema_name [email protected]"; 
    echo ""; 
else 
    mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1" 
fi 
Questions connexes