首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用码头主管强制转储导入?

如何使用码头主管强制转储导入?
EN

Stack Overflow用户
提问于 2020-03-10 20:42:53
回答 1查看 200关注 0票数 0

我试图将数据库导入到Docker中的mysql容器中,但sql文件出现了一些错误。

我使用此代码导入数据:

代码语言:javascript
复制
docker exec -i MYCONTAINER mysql -uMYUSER -pMYPASS@ -f -D MYDATABASE < MYFILE.sql

但是仍然返回一个关于文件语法的错误,我不能打开这个文件,因为这个文件太大了,唯一的方法就是使用mysqldump。还有其他人有方法导入这个文件吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-11 03:13:40

当您运行命令docker exec <container_name> <command>时,command将在容器中执行,并且由于该容器中不存在MYFILE.sql,因此肯定会抛出错误。

另一个问题是容器已经创建,除非您想要重新创建容器,否则您无法在其中挂载文件。

以下是解决此问题的解决方法:

  1. sql文件复制到容器

中。

代码语言:javascript
复制
docker cp ./MYFILE.sql MYCONTAINER:/tmp/MYFILE.sql

  1. 现在该文件已经在路径/tmp/MYFILE.sql的容器中,您可以像

一样执行命令。

代码语言:javascript
复制
docker exec -i MYCONTAINER mysql -uMYUSER -pMYPASS@ -f -D MYDATABASE < /tmp/MYFILE.sql
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60625638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档