操作系统:Ubuntu 12.04.1 LTS MySQL 版本:5.5.28-0ubuntu0.12.04.2
当我尝试运行 LOAD DATA LOCAL INFILE 时,我收到错误 1148(此 MySQL 版本不允许使用的命令)-但仅在以下情况下
- 当命令通过 PHP wget cron 作业运行时(大多数时候失败,大约每 4 次中的 1 次)
- 当命令通过浏览器会话中的 PHP 文件运行时(失败两次,然后通常在第三次工作)
我看到如果脚本运行正常,并且在不久之后努力运行它,它工作正常 - 但是在运行它后等待 5 分钟以上,它又开始失败,直到我刷新它足够的时间来获得它再次运行。我每次都需要从 cron 成功运行它。
我在 my.conf 的 [mysqld]、[mysql] 和 [client] 条目下添加了 local-infile(不是 local-infile=1),然后重新启动服务器,但无济于事。我也尝试在 [client] 下输入loose-local-infile=1,但没有任何乐趣。
数据库文件夹已移动到不同的位置 (/media/Data/mysql_data) 并归 root 所有。
导入文件下载到本地,权限为 0644。
这是正在运行的命令:
LOAD DATA LOCAL INFILE
"/var/www/'.$import_dir.$table.'.csv"
INTO TABLE _PREP_'.$table.'
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY "\""
..$import_dir 和 $table 是导入文件的路径和名称。
有没有其他人见过这个?是否有任何日志我可以查看以了解它失败的原因?为什么只是间歇性失败?
这有点奇怪。为了记录,这是一个新盒子,脚本一直都是这样的。
所有帮助表示赞赏。-保罗G