繁体   English   中英

使用 docker 和 mysql 导入文件?

[英]using docker and mysql to import the file?

我正在使用 mysql docker 容器来加载数据库数据,数据库文件夹容器多个文件显示为

在此处输入图像描述

employees.sql 有以下命令

SELECT 'LOADING departments' as 'INFO';
source load_departments.dump ;
SELECT 'LOADING employees' as 'INFO';
source load_employees.dump ;
SELECT 'LOADING dept_emp' as 'INFO';
source load_dept_emp.dump ;
SELECT 'LOADING dept_manager' as 'INFO';
source load_dept_manager.dump ;
SELECT 'LOADING titles' as 'INFO';
source load_titles.dump ;
SELECT 'LOADING salaries' as 'INFO';
source load_salaries1.dump ;
source load_salaries2.dump ;
source load_salaries3.dump ;

现在我正在使用 docker 执行以下命令。

  1. 首先,检查并复制 MySQL docker 的容器 ID:

     sudo docker ps docker id is 3a66701bd013, name is mysql
  2. 使用以下命令将 SQL 转储文件目录和文件复制到容器中:

    docker cp /Users/xisizhe/Downloads/test_db-master/ mysql:/

  3. 现在要在正在运行的容器中与 MySQL 交互,请运行以下命令:

    docker exec -it mysql mysql -uroot -p

  4. 现在通过键入以下内容导入文件:

    来源员工。sql

它可以导入employees.sql,但无法导入其他sql文件和转储文件。

ERROR: 
Failed to open file 'load_salaries1.dump', error: 2
ERROR: 
Failed to open file 'load_salaries2.dump', error: 2
ERROR: 
Failed to open file 'load_salaries3.dump', error: 2
ERROR: 
Failed to open file 'show_elapsed.sql', error: 2

我的程序有什么问题吗? 提前致谢。

如果执行以下命令

docker cp /Users/xisizhe/Downloads/test_db-master/ mysql:/

您应该在 employees.sql 中的那些转储文件之前添加 /test_db-master/ ,例如:

source /test_db-master/load_departments.dump ;
source /test_db-master/load_employees.dump ;
...

然后,您可以使用以下命令导入 sql 数据:

docker exec -i mysql mysql -uroot -p1234  < employees.sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM