sql >> Base de Datos >  >> RDS >> Mysql

Importación y exportación de archivos mediante la línea de comandos de MySQL

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 MySQL username seguirá.
  • El -p bandera indica que se nos debe solicitar la password asociado con el username anterior .
  • database_name es, por supuesto, el nombre exacto de la base de datos a exportar.
  • El > símbolo es una directiva de Unix para STDOUT , 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 por output_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.