2017-02-22 14 views
1

для Windows 2007 MySQL 5,7безопасно-файлов собств Пустой набор

ошибка Прием:

ERROR 1290 (HY000): Сервер MySQL работает с опцией --secure-файл-собств так он не может выполнить это заявление

Таким образом, я предположил, что это просто ошибка привилегий для каталога, в котором я сохранил свою БД.

Так что я побежал:

SHOW ПЕРЕМЕННЫЕ LIKE "безопасный-файл-собств";

и вернулся:

Пустой набор (0,00 сек)

так что я искал "my.ini" my.ini находится в C: \ ProgramData \ MySQL \ MySQL Server 5.7

MySQL устанавливается в C: \ Program Files (x86)

Я сделал копию O f my Links.csv в папку location my.ini и ошибка все же вернулась.

Сценарий:

MySQL> LOAD DATA INFILE 'Links.csv' INTO TABLE Ссылки;

+0

Проверить [6.1.5. Системные переменные сервера :: secure_file_priv] (https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv). – wchiquito

+0

Я действительно уже просмотрел этот документ, что и привело меня сюда. Это не интуитивно, и я новичок в MySQL (создание базы данных вообще). Я не понимаю, как настроить команду. Если это помогает, я бегу 5.7.14 – Rthomas529

+0

См. [Http://stackoverflow.com/a/37614254/1316440](http://stackoverflow.com/a/37614254/1316440). – wchiquito

ответ

0

Я использую Windows, 10.

Проверил:

mysql> SELECT VERSION(); 
+------------+ 
| VERSION() | 
+------------+ 
| 5.7.17-log | 
+------------+ 
1 row in set (0.00 sec) 

mysql> SHOW VARIABLES LIKE 'secure_file_priv'; 
+------------------+--------------------------------+ 
| Variable_name | Value       | 
+------------------+--------------------------------+ 
| secure_file_priv | V:\PATH\TO\MySQL Server\Files\ | 
+------------------+--------------------------------+ 
1 row in set, 1 warning (0.00 sec) 

mysql> SELECT `VARIABLE_VALUE` 
    -> FROM `performance_schema`.`global_variables` 
    -> WHERE `VARIABLE_NAME` = 'secure_file_priv'; 
+--------------------------------+ 
| VARIABLE_VALUE     | 
+--------------------------------+ 
| V:\PATH\TO\MySQL Server\Files\ | 
+--------------------------------+ 
1 row in set, 1 warning (0.00 sec) 

mysql> SELECT @@GLOBAL.secure_file_priv; 
+--------------------------------+ 
| @@GLOBAL.secure_file_priv  | 
+--------------------------------+ 
| V:\PATH\TO\MySQL Server\Files\ | 
+--------------------------------+ 
1 row in set (0.00 sec) 

Если вам нужно изменить путь, вы должны сделать это в файле my.ini:

# Secure File Priv. 
secure-file-priv="V:/NEW/PATH/TO/MySQL Server/Files" 

затем перезапустите MySQL: (в моем случае):

V:\>net stop MySQL 

V:\>net start MySQL 
+0

no dice: SHOW VARIABLES LIKE 'secure_file_priv'; secure_file_priv | C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Загрузки \ в my.ini документа, расположенного по адресу: C: \ ProgramData \ MySQL \ MySQL Server 5.7 изменен: безопасный-файлов собств = "C:/ProgramData/MySQL/MySQL Server 5.7/Загрузки» для: безопасных-файла-собств = "C:/App/MySQL/MySQL сервер 5,7/баз данных" перезапущен MySQL затем: ВЫСТАВОК LIKE 'пЕРЕМЕННЫХ secure_file_priv'; secure_file_priv | C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Uploads \ No Change – Rthomas529

+0

@ Rthomas529: Кажется, он не читает правильный файл my.ini. Вы можете опубликовать результат (в моем случае): 'V: \> sc qc MySQL'. См. [SC] (https://technet.microsoft.com/en-us/library/bb490995.aspx). – wchiquito

+0

Вы правы. sc qc MySQL57 показывает «C: \ App \ MySQL \ MySQL Server 5.7 \ my.ini» MySQL57, в то время как mysql> SHOW VARIABLES LIKE «secure_file_priv»; показывает «C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Uploads \», но я не могу изменить путь «secure_file_priv». Итак, как я могу указать MySQL57 на правильный путь? – Rthomas529