Home » Tecnología » Backup MySQL por comandos

Backup MySQL por comandos

Publicado en: Tecnología 1

Este es un manual con la intención de tener todos los comandos más comunes de manejo de bases y tablas de MySQL reunidos en un solo documento, que si es necesario se actualizará y crecerá convenientemente al uso que se necesite.

Backup de Base de datos a archivo:

shell> mysqldump -u root -p databse > backup-file.sql

Recuperar Base de datos de archivo:

shell> mysql -u root -p database < backup-file.sql

Si ponemos en los comandos de mysql (mysql, mysqldump, mysqladmin…) el parámetro -p indicamos que le debemos pasar la contraseña de usuario de mysql para ejecutar el comando. Si adjunto junto a -p la contraseña (-ppassword_de_mysql) en el mismo comando no nos preguntará la contraseña al ejecutarlo:

shell> mysqldump -u root -ppassword databse > backup-file.sql

Exportar todas las bases de datos a un solo archivo .sql:

shell> mysql -u root -ppassword -e "flush tables;"
shell> mysqldump -u root -ppassword -A > backup_mysql.sql

la primera linea libera la caché tablas de mysql. Con la segunda volcamos todas las bases al archivo backup_mysq.sql

Backup de una tabla a un archivo:

shell> mysqldump -u root -ppassword nombre_db nombre_tabla > backup-file.sql

Añadir DropTable para que previamente borre la tabla y luego la inserte:

shell> mysqldump -u root -ppassword --add-drop-table nombre_db nombre_tabla > backup-file.sql

-u -> usuario de la base de datos
-p -> parámetro que solicita la contraseña del usuario de la base de datos.
password -> contraseña del usuario, el texto va todo seguido junto al parámetro -p

Recuperar tabla de un archivo:

shell> mysql -u root -ppassword nombre_db < backup-file.sql

Le pasamos el nombre de la base de datos donde va a meter la tabla. Si backup-file.sql no contiene la sentencia de borrar la tabla (drop table) antes de insertar los registros, devolverá un error si existe ya la tabla en la base de datos.

  1. rodrigo
    | Responder

    Es bueno esta pagina

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *