2011-12-09 12 views

Respuesta

64

Prueba con Mysqldump

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

¿Usted ha conseguido el acceso a SSH?

Puede utilizar este comando en la shell para copia de seguridad de una base de datos completa:

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

Esto es en realidad un comando seguido por el operador >, que dice: "tomar la salida de la orden anterior y almacenarlo en Este archivo."

Nota: La falta de un espacio entre -p y la contraseña de mysql no es un error tipográfico. Sin embargo, si deja el indicador -p presente, pero la contraseña real en blanco, se le pedirá su contraseña. A veces, esto se recomienda para mantener las contraseñas fuera de tu historial de bash.

+6

hombre mysql: Si usa el formulario de opción corto (-p), ** no puede * * tiene un ** espacio ** entre la opción y la contraseña. –

+1

Bueno explicando el "no espacio" entre -p y la contraseña real –

+0

si usa SSH debe mencionar el uso de SCP o SFTP para almacenar el archivo de volcado en la PC local como se le preguntó en la pregunta – imakin

31

Nadie menciona nada sobre la opción --single-transaction. La gente debería usarlo de forma predeterminada para las tablas InnoDB para garantizar la coherencia de los datos. En este caso:

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

Esto hace que el volcado se ejecuta en una sola transacción que está aislado de los demás, la prevención de copia de seguridad de una transacción parcial.

Por ejemplo, considere que tiene un servidor de juegos donde las personas pueden comprar marchas con los créditos de sus cuentas. Hay esencialmente 2 operaciones contra la base de datos:

  1. deducir el importe de sus créditos
  2. Añadir la marcha a su arsenal

Ahora bien, si el vertedero ocurre entre estas operaciones, la próxima vez que restaurar la copia de seguridad daría como resultado que el usuario perdiera el artículo comprado, porque la segunda operación no se descarga en el archivo de volcado de SQL.

Si bien es solo una opción , básicamente no hay muchas razones para no usar esta opción con mysqldump.

+0

Podría ser un salvavidas, gracias un montón !!! –

+0

¡¡Buena adición !! –

18

Este tema aparece en la primera página de mi resultado de google, así que aquí hay un pequeño consejo útil para los recién llegados.

También podría volcar el SQL y gzip en una línea:

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz] 
2
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql] 
+3

¿Es realmente '-p [contraseña]' y no '-p [contraseña]'? –

+3

@ArtjomB. Sí, y si su contraseña tiene caracteres especiales, ponga entre comillas: '-p'pa $$ w0rd !!!! '' –

-1

puede elegir otro camino:

mysql -u [username] [databasename] 

y elija su archivo sql como:

source mydumpdatabase.sql 
+0

Así es como * restaura * una copia de seguridad, no cómo la crea. – Quentin

Cuestiones relacionadas