簡體   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