Para exportar o importar con MySQL, comience iniciando sesión en su servidor, preferiblemente con sudo
acceso (raíz).
Exportación desde MySQL
La mejor herramienta para exportar una base de datos MySQL a un archivo de texto es mysqldump
.
Para usar mysqldump
, deberá conocer las credenciales de inicio de sesión de un MySQL user
adecuado que tiene los privilegios necesarios para exportar la base de datos en cuestión.
Con esa información en la mano, ingrese el mysqldump
Comando con las banderas y opciones apropiadas:
$ mysqldump -u my_username -p database_name > output_file_path
Las opciones en uso son:
- El
-u
indicador indica que MySQLusername
seguirá. - El
-p
bandera indica que se nos debe solicitar lapassword
asociado con elusername
anterior . database_name
es, por supuesto, el nombre exacto de la base de datos a exportar.- El
>
símbolo es una directiva de Unix paraSTDOUT
, que permite que los comandos de Unix envíen los resultados de texto del comando emitido a otra ubicación. En este caso, esa ubicación de salida es una ruta de archivo, especificada poroutput_file_path
.
Nota:Por lo general, se recomienda ingresar la ruta completa y el nombre de archivo para output_file_path
, por lo que el archivo resultante se genera exactamente donde lo desea.
Por ejemplo, para exportar los books
base de datos como book_admin
usuario al ~/backup/database
directorio, podríamos usar el siguiente comando:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
Después de ingresar nuestra contraseña cuando se le solicitó anteriormente, este comando crea nuestro archivo de respaldo con un .sql
sufijo (que es completamente opcional pero recomendable) en el directorio correspondiente.
Por defecto, mysqldump
no guardar comandos que intentan modificar la existencia de la base de datos actual. En su lugar, de forma predeterminada, solo las tables
reales (y sus respectivos datos) se guardan y, por lo tanto, estarán preparados para su posterior importación utilizando este archivo. Si necesita la capacidad de exportar (y luego recrear) una base de datos más, lea sobre --databases
bandera en la documentación oficial.
Importación en MySQL
Ahora que ha aprendido a exportar una copia de seguridad de una base de datos MySQL, exploraremos cómo revertir el proceso e importar. la copia de seguridad en una base de datos existente.
Como puede imaginar, para complementar el mysqldump
comando usado para exportar, hay un mysqlimport
similar comando para importar.
En la mayoría de los casos, importar es solo una cuestión de pasar prácticamente idéntico opciones al mysqlimport
dominio. Para importar nuestros books.sql
guardados archivo creado anteriormente, usaríamos muchas de las mismas banderas y la misma sintaxis.
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
Como antes, el -u
y -p
se requieren banderas para la autenticación, que luego es seguida por el nombre de la database
para importar (en este caso, estamos usando una base de datos de producción diferente), luego, por último, especificando la ruta completa al archivo de volcado de SQL que contiene nuestros datos de importación, ~/backup/database/books.sql
. También vale la pena señalar que mysqlimport
no requiere el <
o >
(STDIN/STDOUT) símbolos que se usaron con mysqldump
.
Con eso, ha aprendido cómo exportar/hacer una copia de seguridad de una base de datos existente y cómo importar/restaurar esos datos en la misma o incluso en una base de datos diferente.