> Faqs > Restaura base de datos MySQL desde un archivo dump .sql en una base de datos local con Laravel Sail

Restaura base de datos MySQL desde un archivo dump .sql en una base de datos local con Laravel Sail

Estoy probando Laravel Sail con un proyecto existente y quiero restaurar la base de datos, que tengo en un archivo con sentencias SQL "mysql-dump_db.sql".

Ese archivo lo quiero importar en la base de datos que ha generado Sail, que actualmente está vacía, para que el proyecto funcione correctament en local. ¿Cómo debo de proceder?

Respuestas

Esto lo podrías hacer de muchas maneras, pero la que siempre te va a funcionar es la línea de comandos.

La base de datos la restauras igual que restauras cualquier archivo de dump de MySQL de toda la vida. Solamente tienes que verificar los datos de acceso a tu base de datos que están en el archivo .env.

Esos datos podrían ser como estos:

DB_DATABASE=basedatos
DB_USERNAME=user
DB_PASSWORD=password

Luego abres el terminal y lanzas el comando:

mysql -h 127.0.0.1 -u user -p basedatos < ./mysql-dump_db.sql

Estoy asumiendo:

  • Tienes Sail arrancado en el proyecto en el que quieres restaurar la base de datos.
  • El puerto de MySQL no lo has tocado, con lo que estará en el predeterminado de MySQL, que es el que está usando el contenedor docker
  • Usas la IP de localhost que en principio docker tiene todos los servicios de los contenedores como si estuvieran corriendo en tu propia máquina host.

Puedes encontrar otras posibilidades de restaurar respaldo de MySQL, ya que es lo mismo que tienes que hacer en tu caso, ya que aunque el servidor de la base de datos está en un contenedor Docker con Sail no afecta a cómo se hace la restauración.

Julian
1145 49 87 45
Vaya, resultaba bastante fácil después de todo.

Estaba volviéndome loco para conseguir restaurar el backup en mariadb de laravel sail y no me salía ni a la de tres.

El problema es que no tenía arrancado sail :|

sail up
mysql -h 127.0.0.1 -u userdb -p localadmin < ./mysql-dump_db.sql
Alfonso
293 11 19 18