将SQL文件导入Laravel Sail MySQL容器

velaa5lx  于 2023-10-15  发布在  Mysql
关注(0)|答案(1)|浏览(124)

我正在使用laravel sail,我试图将sql文件导入mysql容器,有可能吗?
我尝试了这个命令(file.sql在我启动sail命令的同一个目录中):
sail exec mysql mysql -u username -p database_name < file.sql
但我有这个错误“输入设备不是一个TTY”
谢谢

vq8itlhq

vq8itlhq1#

您可以使用

sail mysql << file.sql

cat file.sql | sail mysql

如果你使用的是MariaDB,只需将mysql替换为mariadb即可。同样在defaultsail docker-compose.yml中,数据库的端口3306被暴露。
这意味着,如果你已经安装了本地mysql客户端,你可以连接到localhost,但有一个扭曲:如果你使用mysql或mysqldump和-h localhost,它会尝试使用套接字,但如果你使用-h,你可以强制它使用3306127.0.0.1

# Does NOT work
$ mysql -hlocalhost -usail -p laravel
Enter password:
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)

# WORKS
$ mysql -h127.0.0.1 -usail -p laravel
Enter password:

欢呼

相关问题