Отключить безопасный приват для загрузки данных в MySQL

Я запускаю MySQL 5.7 на компьютере с Windows 10. Я прочитал все SO-темы в этой теме и до сих пор не понял, как загрузить мои данные и пройти мимо этой ошибки:

Error Code: 1290. The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement

У меня есть 1) проверил настройки, чтобы изменить их, чтобы иметь возможность загрузить из каталога, в котором я сохранил свой набор данных, 2) открыл MySQL как администратор и проверил командную строку и подтвердил, что защищенный файл действительно указать на мой каталог, 3) и подтвердить в файле инициализации, что он указывает на правильный каталог, содержащий мой файл. Я попытался изменить расположение набора данных, чтобы оно было в новой папке и подтвердило, что оно было перемещено туда с помощью вышеуказанных методов, и оно все еще не работает.

Любая помощь будет приветствоваться, спасибо.

Ответ 1

Я не могу воспроизвести проблему.

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.13    |
+-----------+
1 row in set (0,00 sec)

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0,00 sec)

-- USE ...

mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv'
    -> INTO TABLE `test_files`
    -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"'
    -> LINES TERMINATED BY '\n';
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv
option so it cannot execute this statement

Изменить файл: /etc/mysql/my.cnf

[mysqld]
.
.
.
secure_file_priv=/var/lib/mysql-files/
.
.
.

Перезапустить MySQL.

mysql> SELECT @@GLOBAL.secure_file_priv;
+---------------------------+
| @@GLOBAL.secure_file_priv |
+---------------------------+
| /var/lib/mysql-files/     |
+---------------------------+
1 row in set (0,00 sec)

mysql> LOAD DATA INFILE '/var/lib/mysql-files/myfile.csv'
    -> INTO TABLE `test_files`
    -> COLUMNS TERMINATED BY ',' ENCLOSED BY '\"'
    -> LINES TERMINATED BY '\n';
Query OK, 3 rows affected (0,00 sec)
Records: 3  Deleted: 0  Skipped: 0  Warnings: 0

См. 6.1.4. Системные переменные сервера:: secure_file_priv

Ответ 3

  • Проверить права ОС на каталог, из которого вы импортируете.
  • При попытке импортировать данные через "CVS using LOAD DATA" выберите локальную опцию.