Respaldar y Restaurar db Mysql con SSH – Linux
La forma más rápida y segura de respaldar una Base de Datos en servidores LINUX sin que 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 permisos necesarios).
- Un cliente SSH para conectarte.
Nota: Putty es un cliente SSH muy recomendable (click aquí para descargarlo), funciona en todas las plataformas Windows (incluso en Windows 7) y no requiere instalación.
Pasos a seguir:
- Conéctate vía SSH a tu servidor, si es usando Putty, aquí hay varios links que explican como.
- Crear el direcorio respaldo en / (no en public_html) y cambiamos la ubicación a ese directorio:
mkdir respaldo cd respaldo
- Respaldar la Base de datos con el siguiente comando:
mysqldump -u usuario_basedatos -ppassword nombre_basedatos > respaldo_basedatos.sql
- Ahora ya tienen la Base de Datos respaldada, se puede comprimir el SQL con:
gzip -9 respaldo_basedatos.sql
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:
- Subir el backup por FTP al directorio de respaldos
- Conexión por SSH al servidor y cambiar a la carpeta de respaldo con:
cd respaldo
- 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).
Fuente: http://www.dasumo.com
Use este tuto, lo unico que veo que falla es que en lugar de nombre_db < respaldo_db.sql tienes que usar nombre_db para respaldar.
saludos me ayudaste mucho