Respaldar y restaurar una Base de Datos MySQL con línea de comandos y un acceso SSH.

MySQL logo

MySQL Logo

La forma más rápida y segura de respaldar una Base de Datos en servidores LINUX sin que ésta se corrompa, sin que haya perdida de datos o errores de formato, sin afectar el rendimiento o la carga del servidor, y sin afectar las visitas a tu sitio web, es desde la línea de comandos usando una conexión SSH.

Para esto, es necesario:

- Tener acceso SSH al servidor (como ROOT o como USUARIO con los permisos necesarios).
- Un cliente SSH para conectarte.

Nota: Putty es un cliente SSH muy recomendable (click aquí para descargar putty), funciona en todas las plataformas Windows (incluso en Windows 7) y no requiere instalación.

Pasos a seguir:

  1. Conéctate vía SSH a tu servidor, si es usando Putty, aquí hay varios links donde se explica como: Conexión SSH con putty.
  2. Crear el direcorio respaldo en / (no en public_html) y cambiamos la ubicación a ese directorio:
    Crear directorio: mkdir respaldo
    Cambiar de directorio: cd respaldo
  3. Respaldar la Base de datos con el siguiente comando:
    mysqldump -u usuario_basedatos -ppassword nombre_basedatos > respaldo_basedatos.sql
  4. Ahora ya tienen la Base de Datos respaldada, se puede comprimir el SQL con:
    gzip -9 respaldo_basedatos.sql
  5. Listo, ahora que tienen toda su Base de Datos comprimida en GZIP (se puede abrir con WinRAR), podrán descargarla por FTP y eliminarla del servidor una vez que la tengan en su PC

Nota: Notese que en el paso 3 el "-ppassword" va JUNTO, es decir, que la contraseña de la Base de Datos debe ir pegada a la instrucción -p.

Este proceso de respaldo, llevará desde unos cuantos segundos hasta un par de minutos dependiendo del tamaño de tu Base de Datos, simple y rápido.

Y si necesitan restaurar esa base de datos, sólo hacen lo siguiente:

  1. Subir el backup por FTP al directorio de respaldos
  2. Conexión por SSH al servidor y cambiar a la carpeta de respaldo con:
    cd respaldo
  3. Descomprimir y Restaurar la base de datos con el siguiente comando:
    gzip -d respaldo_db.sql.gz
    mysql -u usuario_db -ppassword -h localhost -D nombre_db < respaldo_db.sql

Nota: De ser necesario, cambiar localhost por el Host de MySQL en su servidor (usualmente no hace falta).

Un saludo a todos los Webmaster, y espero que les sea de utilidad.
Desde México, DASUMO :)

Escrito en: Webmaster
8 comentariosDeja un comentario

Deja un comentario

 

     


Subir