2016-12-31 20 views
1

CONNECTエンジンを使用して外部ファイルをMariaDBに読み込みたいとします。ただし、ファイルから読み取るしようとしたとき、私はエラーメッセージが表示されます:MariaDB CONNECTエンジンで外部ファイルを読み取る

MariaDB [test]> create table test (name varchar(100), team varchar(100)) engine=CONNECT table_type=CSV file_name='/tmp/data.csv' header=1 sep_char=',' quoted=0; 
Query OK, 0 rows affected (0.24 sec) 

MariaDB [test]> select * from test; 
ERROR 1296 (HY000): Got error 174 'Open() error 13 on /tmp/data.csv: Permission denied' from CONNECT 

は、ファイルシステムのアクセス権を確認する私に与える:

[email protected] ~ $ ls -l /tmp/data.csv 
-rw-rw-rw- 1 divingt divingt 1658 Dec 31 13:59 /tmp/data.csv 

をだから、誰もが読んで、ファイルからの書き込みをすることができるはずです。

はまた、MYSQLでの権限はすべてのために許可:

MariaDB [test]> SHOW GRANTS; 
+------------------------------------------------------------------------------------------------+ 
| Grants for [email protected]                  | 
+------------------------------------------------------------------------------------------------+ 
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION | 
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION         | 
+------------------------------------------------------------------------------------------------+ 
2 rows in set (0.00 sec) 

私はLinuxのミントシステムを実行します。

ありがとうございました。

+0

ConnectではなくLOAD DATAを使用することを検討してください。 –

+0

はい、それは動作します。しかし、ポイントはXMLデータの読み込みにも使用したいので、接続エンジンを使用することでした。 – divingTobi

答えて

0

apparmorは、mysqldがファイルの読み込みを妨げていることが判明しました。それを無効にする(またはアクセス許可を変更する)ことで、この問題が解決されました。

関連する問題