问题
我想上传一个.csv文件到MySQL码头。
得到错误:File 'xx.csv' not found (OS errno 13 - Permission denied)
我的文件
FROM mysql:latest
ENV MYSQL_ROOT_PASSWORD password
COPY ./sql-scripts/ /docker-entrypoint-initdb.d/
COPY ./data /var/lib/mysql/
COPY my.cnf /etc/mysql/
EXPOSE 3306My.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv = ""
local-infile = 1
symbolic-links=0
!includedir /etc/mysql/conf.d/我以根用户身份连接到MySQL:
docker exec -it mysql_1 mysql -uroot -proot_password然后执行SQL命令:
CREATE DATABASE data;
USE data;
CREATE TABLE IF NOT EXISTS `pregnant_mapping` (
`label` varchar(255),
`Pregnancy` varchar(255) PRIMARY KEY
);
LOAD DATA INFILE '/var/lib/mysql/pregnant_mapping.csv' INTO TABLE pregnant_mapping;我试过的
尝试在命令行中添加LOCAL,但在我的MySQL版本中不起作用;得到了错误:ERROR 1148 (42000): The used command is not allowed with this MySQL version
谢谢你的帮忙!
发布于 2019-04-10 08:26:27
如果您将.csv文件放置在/var/lib/mysql目录中,下面的语句应该可以工作。
将数据INFILE‘/var/lib/mysql/ mst_result’加载到由‘终止于’的表字段中,‘’可选地以‘\n’结尾的“”行括起来;
发布于 2021-01-27 10:38:21
看到这个问题有点晚了,但也许答案可能会对某人有所帮助:
平台: Linux (CENTOS 8)
mysqld局部-infile=1
服务mysqld重新启动
mysqlimport --用户=${user}-password=${password}-local=TRUE -d ${database} your_file
向mysqlimport添加其他参数,以防需要它们。
https://stackoverflow.com/questions/55605623
复制相似问题