2016-05-31 20 views
1

我在Ubuntu中運行MySQL。運行特定的一組查詢時出現此錯誤。Mysql將--secure-file-priv選項設置爲NULL

MySQL服務器與--secure-文件私法選項運行,所以當我在我的MySQL服務器我/var/lib/mysql-files/SELECT @@secure_file_priv;它不能執行該語句

。我想我需要做到這一點NULL

這是查詢我運行:

LOAD DATA INFILE :file INTO TABLE test_files 
COLUMNS TERMINATED BY ',' ENCLOSED BY '\"' 
LINES TERMINATED BY '\n'; 

現在的問題是如何使這個NULL

+0

什麼版本的MySQL您使用的是?請參閱[secure_file_priv](http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv)。 – wchiquito

+0

這是我的版本:5.7.12 –

+0

順便說一句,我看到這[http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv]但我不是知道如何使這個NULL。 –

回答

2

嘗試:

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

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

更改文件:/etc/mysql/my.cnf

[mysqld] 
. 
. 
. 
secure_file_priv=NULL 
. 
. 
. 

重啓MySQL。

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

UPDATE

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

文件:/var/lib/mysql-files/myfile.csv

1,"Row 1" 
2,"Row 2" 
3,"Row 3" 
mysql> DROP TABLE IF EXISTS `test_files`; 
Query OK, 0 rows affected, 1 warning (0.00 sec) 

mysql> CREATE TABLE IF NOT EXISTS `test_files` (
    -> `col0` INT, 
    -> `col1` VARCHAR(20) 
    ->); 
Query OK, 0 rows affected (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.01 sec) 
Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 

mysql> SELECT 
-> `col0`, 
-> `col1` 
-> FROM 
-> `test_files`; 
+------+-------+ 
| col0 | col1 | 
+------+-------+ 
| 1 | Row 1 | 
| 2 | Row 2 | 
| 3 | Row 3 | 
+------+-------+ 
3 rows in set (0.00 sec) 
+0

謝謝你的回答。它確實更改爲NULL。但是我仍然得到相同的錯誤。 –

+0

@PrabhuKhannaMahadevan:請更新您的問題並將產生錯誤的查詢。 – wchiquito

+0

更新了查詢。我相信這個查詢沒有問題。它在其他服務器上工作正常。它不適用於我的本地機器。 –

相關問題