2010-05-04 15 views
10

¿Cómo puedo usar mysqldump para hacer una copia de seguridad y restaurar la base de datos en un servidor remoto?mysqldump copia de seguridad y restauración en el servidor remoto

Ambos tienen acceso de root. Estoy usando masilla para realizar esto.

Hasta ahora he intentado lo siguiente:

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

pero se negó

la contraseña local es:!> Z * x311a @

la contraseña remota es: g2154hE6-AsXP

+10

Para futuras aviso, me gustaría ser cauteloso cuando publique públicamente sus credenciales de base de datos. Espero que los hayas cambiado! –

Respuesta

8

Este link proporciona información sobre cómo realizar copias de seguridad y restauración con mysqldump. También da algunos ejemplos con un servidor remoto.

Los comandos importantes desde que enlazan ser:

copia de seguridad:

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

de restauración:

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

estoy realmente usando este pero cuando entro en el comando mysqldump me da nada sólo el símbolo del sistema de nuevo – manhag

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

puede insertar esta parte en una secuencia de comandos, luego puede usar FTP para transferir a la otra r ubicación.

Para restaurarlos, puede

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

su contraseña local contiene el carácter >, que se interpreta como a redirect character por la mayoría de las conchas. Como regla general, hará que su vida sea considerablemente más fácil si mantiene sus contraseñas MySQL alfanuméricas [A-Za-z0-9]. Y hará que su sistema sea más seguro si evita publicar sus contraseñas públicamente.

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

[Nota: Existen dos - (guión) delante de acogida]

Tenga en cuenta que primero debe crear la base de datos DB1 en el servidor-remoto antes de ejecutar el siguiente comando.

0

aquí es lo que hago para una descarga rápida a otro servidor remoto ... asumiendo que ha configurado una clave SSH entre los 2 servidores

  • crear el archivo dump-to-server.sh
  • chmod a ejecutable (chmod 0755 dump-to-server.sh)
  • ejecutar su sincronización ./dump-to-server.sh schema_name [email protected]

volcado-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 
Cuestiones relacionadas