Esto es algo util y simple. Antes yo hacia mis backups desde phpMyAdmin y estaba bien para una base de datos pequeña (<10MB) pero conforme fue creciendo la probabilidad de encontrarme con inconsistencias si tuviera que usar este archivo tambien aumentaba por que podrían hacerse cambios en la BD durante la creacion del backup que ahora demoraba mas en crearse.
La solución es simple siempre que tengas acceso a la linea de comandos de tu servidor (en este caso: uno Linux). El tiempo de generar el backup y el restaurarlo se reduce drasticamente.
Hay dos comandos que yo uso para salvar mi data y son los siguientes:
Backup
Para el siguente ejemplo el nombre (o dirección IP) del servidor web es localhost, el usuario es root, mydb es el nombre de la base de datos y archivobackup.sql el nombre que tendra nuestro backup.
mysqldump --host=localhost --user=root --pass=123456 mydb > archivobackup.sql mysqldump -h localhost -u root -p mydb > archivobackup.sql
En la primera forma la clave es definida al inicio por lo que no se pedira ingresar la clave de la base de datos luego. La segunda pregunta la clave antes de empezar. El resultado es el mismo.
Restore
mysql -u root -p mydb < archivobackup.sql
Esta sentencia requiere de la clave del usuario root (que tenga acceso a la BD mydb) y que la base de datos mydb ya exista y que este vacia.