我已经看到有关此错误的几个问题,并尝试了所有建议的解决方案,但都没有成功。如何解决Mysql错误13加载数据infile
我正在运行一个python脚本来将xml解析成csv文件,然后将它加载到MySQL数据库中。其他每一步都顺利进行,成功连接。但是数据加载失败,出现以下错误。
[Extracted .xml. Time:4.34389615059]
- Starting write .csv
[Written CSV files. Cost:0.208467006683]
[Finishing processing one .zip package! Time consuming:16.2964661121]
[Process 6000 is finished. Cost Time:8763.27494121]
[Finished all xml4 files]
== Parseing Cost:9802.73910308 ==
- Starting load CSV files.
Connected successfully!()
***** PUBLICATION *****
Traceback (most recent call last):
File "PublicationsParser.py", line 931, in <module>
po.loadCSV()
File "PublicationsParser.py", line 691, in loadCSV
""".format(filePath=self.csvPath_publication.replace('\\','/')))
File "/home/phesto/Downloads/Documents/USPTO/MySQLProcessor.py", line 39, in load
self._cursor.execute(sql)
File "/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.4b4-py2.7-linux- i686.egg/MySQLdb/cursors.py", line 202, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python2.7/dist-packages/MySQL_python-1.2.4b4-py2.7-linux- i686.egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.InternalError: (13, "Can't get stat of '/home/phesto/Downloads/Documents/USPTO/CSV_P/publications.csv' (Errcode: 13)")
我使用Ubuntu 12.04
mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (i686) using readline 6.2
这里是该文件夹的文件权限,同样为这个文件夹
drwxrwxrwx 2 root phesto 4096 Apr 25 02:54 CSV_P
我曾经尝试都LOCAL INFILE的所有内容和INFILE没有本地。
我也加入了这个路径apparmour mysqld的 /家庭/菲斯托/下载/文档/ USPTO/* RW,
和Python的代码在这里http://abel.lis.illinois.edu/upet/download.php
我需要你的专家帮助。
当不使用'LOCAL'时,文件是否存在于mysqld进程可以访问的服务器上(驻留在用户的下载目录中,我怀疑没有)?当使用'LOCAL'时,文件是否存在于Python进程可以访问的地方;并且为'LOAD DATA LOCAL'启用服务器和客户端 - 请参阅[LOAD DATA LOCAL的安全问题](http://dev.mysql.com/doc/en/load-data-local.html)? – eggyal 2013-04-30 13:34:31
这些文件驻留在上面的路径中,用户文档,我已经授予root权限,我试图让文件在/ tmp中具有相同的结果。 A关于安全性问题,我在mysql的my.cnf中的'[mysql]'和'[mysqld]'条目中添加了'local-infile = 1'。 – 2013-04-30 14:19:29