[英]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 执行以下命令。
首先,检查并复制 MySQL docker 的容器 ID:
sudo docker ps docker id is 3a66701bd013, name is mysql
使用以下命令将 SQL 转储文件目录和文件复制到容器中:
docker cp /Users/xisizhe/Downloads/test_db-master/ mysql:/
现在要在正在运行的容器中与 MySQL 交互,请运行以下命令:
docker exec -it mysql mysql -uroot -p
现在通过键入以下内容导入文件:
来源员工。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.