Сначала я начинающий пользователь MySQL, поэтому я бы попросил, чтобы в ответах, чтобы сохранить его по номерам, если шаги пропущены, я, вероятно, потеряюсь.
Я пробовал энергично исследовать решения, прежде чем спрашивать об этом, пока я потратил около 3 часов на это. Я объясню, какие шаги я предпринял в меру своих способностей.
Цель: разрешить использование LOAD DATA LOCAL INFILE
Задача: на данный момент команда не разрешена на сервере. Все попытки найти и открыть какой-либо метод для изменения параметров сервера оказались бесплодными. На стороне клиента я смог включить его.
Все, что я нашел. Сначала в официальном учебнике я нашел раздел 6.1.6 "Проблемы безопасности с LOAD DATA LOCAL" https://dev.mysql.com/doc/refman/8.0/en/load-data-local.html
К сожалению, объяснение бесполезно, поскольку оно пропускает огромное количество способов, они заявляют, что позволяют ему на сервере выполнять следующие действия
На стороне сервера:
Системная переменная local_infile контролирует возможности LOCAL на стороне сервера. В зависимости от параметра local_infile сервер отказывается или разрешает локальную загрузку данных клиентами, у которых LOCAL включен на стороне клиента. По умолчанию local_infile отключен.
Чтобы явно заставить сервер отказаться или разрешить операторы LOAD DATA LOCAL (независимо от того, как настроены клиентские программы и библиотеки во время сборки или времени выполнения), запустите mysqld с отключенным или включенным local_infile. local_infile также может быть установлен во время выполнения.
Таким образом, следующие действия никоим образом не объясняются
1) Как запустить mysqld с local_infile отключенным или включенным 2) Как локальный_файл также может быть установлен во время выполнения
Тогда я посмотрел на это
5.1.1 Настройка сервера https://dev.mysql.com/doc/refman/8.0/en/server-configuration.html
Опять много пропущенных шагов они показывают это
shell> mysqld --verbose --help
Как вы попадаете в оболочку? Я пробовал на cmd для ввода, но я получил ошибки
Также следует отметить, что my.ini не был создан, а в MySQL Workbench при поиске в разделе "Файл параметров" говорится:
"Местоположение конфигурационного файла My SQL (то есть: my.cnf) не указано"
Кажется, у меня его нет, и я не знаю, как создать его
Наконец, я запускаю Windows 10 и MySQL версии 8.0
В качестве побочного примечания я попытался отключить сервер и получил и Access denied
Также я попробовал просто сделать
mysql> LOAD DATA INFILE 'C: /Users/User/Desktop/pet.txt' INTO TABLE pet; ERROR 1290 (HY000): сервер MySQL работает с параметром --secure-file-priv, поэтому он не может выполнить это утверждение
Любая помощь приветствуется
Спасибо
Спустя 4 часа, и я, наконец, понял это!
Итак, вот шаги
Эти шаги позволили мне использовать LOAD DATA LOCAL INFILE