Не удается загрузить CSV в MySQL - (ОС errno 13 - Отказано в доступе) - PullRequest
0 голосов
/ 10 апреля 2019

Задача

Я хочу загрузить файл .csv в MySQL Docker.
Получил ошибку: File 'xx.csv' not found (OS errno 13 - Permission denied)

Мой Dockerfile

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 3306

my.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 от имени пользователя root:

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

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 10 апреля 2019

Оператор ниже должен работать, если вы поместили файл .csv в каталог / var / lib / mysql

ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ '/ var / lib / mysql / result' В ТАБЛИЦУ mst_result ПОЛЯ, ПРЕКРАЩАЕМЫЕ ',' НЕОБЯЗАТЕЛЬНО ЗАКЛЮЧЕНЫ '' 'ЛИНИИ, ПРЕКРАЩАЕМЫЕ' \ n ';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...