[英]importing csv file into mysql docker container
> docker exec -it craig bash
> mysql -u root -p --local-infile
> use craigslist;
>
> LOAD DATA LOCAL INFILE 'C:/Users/hank/Desktop/craigs/data.csv'
> INTO TABLE books_mags
> FIELDS TERMINATED BY ','
> LINES TERMINATED BY '\n'
> IGNORE 1 ROWS;
我的桌面上有一個 csv 文件,我希望將其輸入到 MySQL 表中。 但是我很難弄清楚文件路徑錯誤。
錯誤 2 (HY000):找不到文件“C:/Users/hank/Desktop/craigs/data.csv”(操作系統 errno 2 - 沒有這樣的文件或目錄)
我不斷收到此錯誤。
我正在為 mySQL 使用 windows 10 和 docker 容器。
如何將我的 csv 放入 MYSQL?
目錄路徑C:/Users/hank/Desktop/craigs/data.csv
在您的主機系統 (Windows) 中。 除非您安裝了卷,否則 docker 的文件系統將完全不同。 訪問容器內文件的兩種方式
第一種方法
啟動容器時必須掛載卷
docker run -d image_name -v "C:/Users/hank/Desktop/craigs/:/data"
這並不總是推薦的。
第二種方法
使用docker cp
將文件從主機復制到容器
See 'docker cp --help'.
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
它類似於使用scp
命令將文件復制到遠程服務器。
1-讓你的CSV進入你的電腦
2-將它們加載到您的容器中,要手動將它們放在那里,您可以使用:
docker cp file container:/<container-directory>
3-輸入您的容器並執行
> sudo docker exec -it jose_signot_mysql bash
container> mysql -uUser -pPassword
mysql> LOAD DATA LOCAL INFILE '/path/in/container/to/file' into table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
或使用內聯密碼從外部執行腳本(安全問題)
sudo docker exec jose_signot_mysql bash mysql -u<User> -p<Password> <databaseName> -e "LOAD DATA LOCAL INFILE '/path/in/container/to/file' into table <tableName> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 ROWS;"
如果您在設置secure-file-priv時遇到問題,請在運行時在您的實例中檢查:this https://github.com/docker-library/mysql/issues/447#issuecomment-403393323
為了導入 csv 有兩種解決方案:
管理用於管理關系數據庫內容的工具(MySql、Postgresql 等)
下面是 docker-compose.yml 中管理員的配置。 然后您可以通過輸入 URL (如“ip_addd_server:4041”)來 go 到管理員,然后輸入數據庫憑據(主機、密碼、方言)並登錄。
adminer:
container_name: adminer
image: adminer
restart: always
ports:
- 4042:8080
networks:
- main-network
depends_on:
- db
簡單地附加到容器並通過此命令的另一種解決方案。
docker exec -it db bin/bash // attach to container
然后您可以使用正確的用戶登錄並通過 CSV 文件導入數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.