0

操作系统: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

4

1 回答 1

0

mysql_connect添加额外的标志128为我解决了这个问题。检查此以获取详细信息mysql_connect

于 2013-03-05T16:35:35.470 回答