Оператор MySQL Docker INFILE / INTO OUTFILE в системе MacOS

Так много для этого простого вопроса, но я просто хотел выделить новую функцию на Java, которая позволит избежать всех путаниц в индексировании в массивах даже для новичков. Java-8 абстрагировал задачу итерации для вас.

int[] array = new int[5];

//If you need just the items
Arrays.stream(array).forEach(item -> { println(item); });

//If you need the index as well
IntStream.range(0, array.length).forEach(index -> { println(array[index]); })

В чем польза? Ну, с одной стороны, это читаемость, как английский. Во-вторых, вам не нужно беспокоиться о ArrayIndexOutOfBoundsException

25
задан SAVe 11 July 2019 в 06:37
поделиться

2 ответа

Я думаю, что у Вас есть проблема с разрешением совместно использовать папки между контейнерами докера и хостом. Необходимо отобразить пользователей контейнеров с пользователями хоста установкой UID в .env файле.

UID=501 # run echo $UID to get current user id
version: '3'
  services:
    datahub_db:
      image: "mysql:5.7.20"
      user: $UID
      restart: always
      environment:
        - MYSQL_ROOT_PASSWORD=${DATAHUB_DB_ROOT_PASSWORD}
        - MYSQL_DATABASE=${DATAHUB_DB_DATABASE}
      volumes:
        - "datahub_db:/var/lib/mysql"
        - "./data/datahub/import:/var/lib/mysql-files/datahub/import"
        - "./data/akeneo/import:/var/lib/mysql-files/akeneo/import"
      ports:
        - "${DATAHUB_DB_PORT}:3306"

...

volumes:
  datahub_db:

0
ответ дан 28 November 2019 в 05:57
поделиться

Мне подобным столкновением с двумя отдельными проблемами здесь, оба связанные с конфигурацией сервера MySQL кажется.

сервер MySQL работает с - secure-file-priv опция, таким образом, это не может выполнить этот оператор.

Эта опция требует, чтобы любая загрузка файла или экспорт файла были помещены в указанное место хранения в файловой системе. Можно найти местоположение с помощью следующей команды или от клиента командной строки MySQL или от MySQL Workbench:

mysql> show variables like 'secure-file-priv';

результат это должно определить местоположение, где файлы могут быть загружены и выписаны к. Никакое другое местоположение не должно быть позволено, когда secure-file-priv включен.

(Получил ошибку при чтении коммуникационных пакетов)

Это часто вызывается загружаемыми данными или экспортируется, который превышает переменную MySQL max-allowed-packet.

можно так же найти значение для max-allowed-packet использованием следующей команды или от клиента командной строки MySQL или от MySQL Workbench:

mysql> show variables like 'max-allowed-packet';

к Этому обратились и хорошо ответили в этом вопросе: https://dba.stackexchange.com/questions/19135/mysql-error-reading-communication-packets

В суммировании: В/etc/my.cnf или my.ini под [mysqld] раздел:

[mysqld]
max_allowed_packet=268435456

‬In рабочий экземпляр MySQL:

SET GLOBAL max_allowed_packet = 268435456;

(Никакой перезапуск сервиса не требуется.)

Как в стороне, учетной записи MySQL, которую Вы используете, должно быть, дали разрешение 'ФАЙЛА', чтобы загрузить или экспортировать. Так как Вы используете корень MySQL (административная) учетная запись, это не должно быть фактором, но я думал, что буду включать его для любого, кто сталкивается с этим.

я надеюсь, что это помогает.

1
ответ дан 28 November 2019 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: