Как обойти проблему «LOAD DATA LOCAL INFILE file request rejected due to restrictions on access»?
Необходимо было загрузить csv-таблицы на localhost. Для загрузки использовал MySQL 8.0 Command Line Client. После использования 'LOAD DATA LOCAL INFILE' начала появляться ошибка 'file request rejected due to restrictions on access'. Нашел решение проблемы в интернете с прописанием в файле конфигурации дополнительных значений 'local_infile=1'. И все заработало. НО! Заработало только в MySQL 8.0 Command Line Client. При попытке подключения к хосту через mysql.connector, или через Workbench продолжает появляться эта ошибка. Хост один и тот же, пользователь root, все возможные права есть. Может кто сталкивался с такой проблемой?
Клиент может иметь свой собственный файл настроек, которые накладываются поверх переданных сервером настроек сессии. Так что надо разрешить local_infile и там.
Дмитрий, данная глобальная установка относится только к серверной стороне, и там всё нормально, потому как в CLI запрос работает. Проблема именно в клиентской настройке.
Akina, похоже Вы правы. Вот, что я нашел: 'MySQL пытается прочитать файлы параметров в указанном выше порядке. Если существует несколько таких файлов, то параметр, указанный в файле, идущем позже, имеет преимущество над таким же параметром, указанным в файле, расположенном ранее.' То есть мне нужно понять порядок файлов конфигурации, и где они находятся. Не подскажите, как их найти?
Вот, что я нашел: 'MySQL пытается прочитать файлы параметров в указанном выше порядке.
Во-первых, тут имеется в виду именно сервер MySQL, а не клиент mysql.exe. То, что получит клиент, берётся из секции [client] конфигурационного файла.
Во-вторых, список и порядок загрузки файлов конфигурации зависит от ОС. Подробнее тут: Using Option Files.
В третьих, файл конфигурации может быть указан в командной строке. Такой файл обрабатывается последним (или, если задано соотв. опцией - единственным).
В четвёртых, отдельные параметры могут указываться и в командной строке - тогда они имеют приоритет перед любыми файлами конфигурации. Но при наличии одноимённого параметра для сервера и для клиента то, что передано в опциях командной строки, однозначно воспринимается как серверная настройка.
И ещё - как я сказал выше, клиент может иметь собственный файл настроек, которые имеют приоритет перед настройками, которые передаёт сервер при установлении подключения.
Akina, всё, сдаюсь. Почитал про список и порядок загрузки файлов для винды. Из всего списка есть только один - my.ini. Скорее всего клиент имеет собственный файл настроек, но я его не нашел. Попробовал загрузить файл через папку указанную в secure_file_priv, и вроде бы получилось это сделать. Видимо, буду через эту папку работать...