Это действительно раздражало меня. Я использую MySQL на компьютере с Windows.
Оператор MySQL, который я пытаюсь выполнить, выглядит следующим образом:
SELECT tempInfo.clientName FROM tempInfo LIMIT 1 INTO OUTFILE 'test.out'
Я понимаю, что мне нужно изменить местоположение, в которое сохраняется файл, и я нашел правильное местоположение папки, которую нужно использовать, и изменил свой код на:
SELECT tempInfo.clientName FROM tempInfo LIMIT 1 INTO OUTFILE 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\test.out';
Это все равно дает ту же ошибку. Итак, теперь я попытался отредактировать файл my.ini следующим образом:
secure_file_priv=''
чтобы можно было использовать любой каталог, но я не могу сохранить файл my.ini обратно в папку, потому что он говорит, что он запрещен.
Затем я попытался изменить его в клиенте командной строки MySQL следующим образом:
SET @@secure_file_priv='';
Это просто дает мне сообщение о том, что 'secure_file_priv' является переменной только для чтения.
Наконец, я попытался запустить сервер MySQL со следующим параметром:
--secure_file_priv=''
но когда я пытаюсь просмотреть переменную в командной строке MySQL после ее запуска, она все равно выглядит так:
+------------------+------------------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------------------+
| secure_file_priv | C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\ |
+------------------+------------------------------------------------+
1 row in set (0.00 sec)
Я действительно застрял сейчас и смотрел везде, и я не знаю, что делать. Кажется, мне нужно изменить переменную, чтобы она не была доступна только для чтения, но я не знаю, как это сделать.