我正在尝试将数据库导入Docker中的mysql容器,但是sql文件出现一些错误。
我使用此代码导入数据:
docker exec -i MYCONTAINER mysql -uMYUSER -pMYPASS@ -f -D MYDATABASE < MYFILE.sql
但是仍然从文件返回有关语法的错误,我无法打开此文件,因为太大了,唯一的方法是使用mysqldump。还有其他人可以导入此文件的方法吗?
提前感谢!
当您运行命令docker exec <container_name> <command>
时,command
将在容器内执行,并且由于MYFILE.sql
在该容器内不存在,因此肯定会引发错误。
另一个问题是容器已经创建,除非您要重新创建容器,否则无法将文件挂载到其中。
这里是解决此问题的方法:
sql
文件复制到容器中docker cp ./MYFILE.sql MYCONTAINER:/tmp/MYFILE.sql
/tmp/MYFILE.sql
的容器中,您可以像执行命令一样>]docker exec -i MYCONTAINER mysql -uMYUSER -pMYPASS@ -f -D MYDATABASE < /tmp/MYFILE.sql