SSH — Respaldar tu base de datos

Generalidades

Este artículo explica cómo hacer una copia de seguridad de tu sitio usando SSH. Esto significa que debes iniciar sesión en tu servidor usando una terminal, luego corres un comando para descargar la base de datos al servidor. Para otras opciones de respaldo, visita el siguiente artículo:

Encuentra las credenciales de tu base de datos

Para hacer una copia de seguridad de tu base de datos, debes conocer tus credenciales, como nombre de usuario, contraseña, hostname y el nombre de la base de datos. Revisa el siguiente artículo para obtener instrucciones sobre cómo encontrar estas credenciales:

¿Donde se ejecuta el comando?

Debes iniciar sesión en tu servidor web a través de SSH para ejecutar el siguiente comando. Visita el siguiente artículo para obtener instrucciones completas sobre cómo iniciar sesión en tu servidor en una terminal:

Ejecutar el comando

En este punto, debes tener tus credenciales de base de datos y haber iniciado sesión en tu servidor en una terminal. Asegúrate de estar en el directorio principal de tu usuario:

[server]$ cd ~

Una vez allí, ejecuta el siguiente comando. Asegúrate de cambiar el nombre de usuario, la contraseña, tu HostMySQL y nombreBD (base de datos) por las credenciales correctas.

[server]$ mysqldump --opt --user=usuario -p --host=tuHostMySQL --no-tablespaces nombreBD > nombredetucopia.sql
  • Luego se te pedirá la contraseña del usuario de tu base de datos.
  • Puedes usar cualquier nombre para "nombredetucopia.sql" – sólo asegúrate de que termine en .sql.

Por favor ten en cuenta lo siguiente cuando corras este comando:

  • Sólo debes correr el comando una vez.
  • No vas a ver ningún resultado al correr el comando.
  • Para un usuario inexperto, puede parecer que el servidor no responde. ¡No canceles la acción del comando! Si no hay respuesta del servidor, puedes suponer que el comando continúa con la copia de seguridad.
  • Para base de datos grandes, la copia de respaldo puede tardarse unos minutos en completarse.

Ahora puedes usar el siguiente artículo sobre FTP para obtener instrucciones sobre cómo iniciar sesión en tu servidor y descargar el archivo .sql:

Copiar TODAS las bases de datos bajo un solo usuario

El siguiente script copia todas las bases de datos en un solo usuario. En el pasado esto era posible de usar la banderilla --all-databases, pero esto ya no funciona debido a una actualizacion de MySQL. Asegúrate de obtener el hostname, username. y password antes de proceder.

  1. Crear un archivo en tu computador Mac, Linux, o en tu servidor DreamHost. Nombrálo algo así como db-export.sh.
  2. Agregale el siguiente código. Asegúrate de actualizar los campos host, username, y password.
    #!/bin/sh
    
    host="yourMySQLHostname"
    username="username"
    password="password"
    
    for DB in $(mysql --host="$host" --user="$username" -p"$password" -e"show databases" --skip-column-names -s | grep -v information_schema); 
    do 
      mysqldump --opt --host="$host" --user="$username" -p"$password" --no-tablespaces $DB > ./$DB.sql; 
    done
  3. Corre el archivo.
    [server]$ sh db-export.sh

Todas las bases de datos dentro de este usuario ahora están descargadas en tu directorio actual.

Hacer una copia de seguridad de tu base de datos en un cron job

Si deseas hacer una copia de seguridad de tu base de datos en un cron job, deberás especificar la contraseña. Por ejemplo, puedes agregar esta línea a un script de Shell para hacer una copia de seguridad de tu base de datos.

Asegúrate de agregar comillas simples antes y después de tu contraseña para asegurarte de que el comando lo lea correctamente.

[server]$ mysqldump --opt --user=usuario --password='contraseña' --host=tuHostMySQL --no-tablespaces nombreBD > nombredetucopia.sql

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?