Blog de Alberto Sanz
La informática explicada de manera sencilla

Importar y exportar base de datos MySQL o MariaDB por comandos

Muchas veces las bases de datos de los proyectos son excesivamente grandes para exportarlos o importarlo desde el administrador de bases de datos MySQL o MariaDB por excelencia PHPMyAdmin, o necesitamos hacerlo directamente en el servidor. Por PHPMyAdmin es común que de errores de timeout o tamaño excesivo, por lo que no siempre es recomendable hacerlo así.

Para evitarlo, lo que podemos hacer es mediante línea de comandos importar y exportar la base de datos MySQL o MariaDB por comandos haciéndolo directamente en nuestro servidor local, conexión SSH o a través de conexión remota atacando la ip del servidor o dominio, podemos hacer una exportación o importación de la base de datos.

Para ello de forma muy sencilla podemos hacer lo que se llama un dump de la base de datos a través del comando mysqldump. Lo que no es más que la exportación de un archivo con todas las definiciones de la base de datos completa (tablas, relaciones, claves foráneas y primarias y los datos que contiene).

Importar base de datos local o por SSH
mysql –u usuario_mysql -p nombre_bbdd < ruta_fichero_importación.sql

Exportar base de datos local o por SSH
mysqldump –u usuario_mysql -p nombre_bbdd > fichero_exportación.sql

Importar base de datos remota
mysql -h ipservidor_o_dominio –u usuario_mysql -p nombre_bbdd < ruta_fichero_importación.sql

Exportar base de datos remota
mysqldump -h ipservidor_o_dominio –u usuario_mysql -p nombre_bbdd > fichero_exportación.sql

Detallando un poco los comandos que he escrito anteriormente, lo que habría que tener en cuenta es que dando el argumento -p, nos pedirá el password para el usuario de la base de datos que hayamos especificado en el argumento -u (que obviamente tendrá que tener permisos sobre esa base de datos). El argumento -h nos permite especificar un host personalizado para lanzarlo sobre bases de datos remotas, si no lo especificamos, por defecto siempre es localhost y va a buscar la base de datos que haya local.

Con este sencillo comando podéis realizar backups de la base de datos completa mediante algún tipo de automatización o de forma manual en pocos minutos.

Hay bastantes más opciones dentro del mysqldump, como copiar bases de datos entre servidores y algunas más, pero eso lo dejamos para otro post.

Hasta aquí el artículo, es bastante sencillo y puede ser de gran utilidad.

Deja una respuesta