[英]Can't get load_file() working in mysql
我一直在努力爭取2晚才能使load_file()工作,但結果是NULL。 我運行版本“5.6.19-0ubuntu0.14.04.1”。
例:
mysql> show variables like '%secure%';
+------------------+-------------+
| Variable_name | Value |
+------------------+-------------+
| secure_auth | ON |
| secure_file_priv | /root/load/ |
+------------------+-------------+
mysql> show variables like 'max_allowed%';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 16777216 |
+--------------------+----------+
mysql> desc xmlDocs;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| fileName | varchar(30) | NO | PRI | NULL | |
| server | varchar(20) | NO | | NULL | |
| doc_content | blob | NO | | NULL | |
+-------------+-------------+------+-----+---------+-------+
mysql> insert into xmlDocs values ('test','test',load_file('/root/load/test.xml'));
ERROR 1048 (23000): Column 'doc_content' cannot be null
文件權限:
drwxrwxr-x 5 mysql mysql 4096 Nov 24 08:18 .
drwx------ 6 root root 4096 Nov 24 08:33 ..
drwxr--r-- 5 root root 4096 Nov 22 16:24 EU1
drwxr--r-- 5 root root 4096 Nov 22 16:26 server
-rwxrwxrwx 1 mysql mysql 83440 Nov 24 08:18 test.xml
drwxr--r-- 5 root root 4096 Nov 22 16:24 US1
經過:
如果不設置secure-file-priv,它可以毫不費力地讀取/ etc / passwd等非重要數據:P。 也是從“/”我可以導入,但沒有其他地方。 設置secure-file-priv時,我只能從“/”開始工作!
相同的文件,沒有secure-file-priv設置:
mysql> insert into xmlDocs values ('test','test',load_file("/root/load/test.xml"));
ERROR 1048 (23000): Column 'doc_content' cannot be null
mysql> insert into xmlDocs values ('test','test',load_file("/etc/test.xml"));
Query OK, 1 row affected (0.00 sec)
有任何想法嗎?
典型......在發布之后一直在尋找2天5分鍾我想通了。
要加載的文件,而不僅僅是它所在的文件夾必須執行...其中的每個文件夾的路徑都必須執行“/”!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.