【发布时间】:2012-11-26 18:17:54
【问题描述】:
我需要一个将大型 XML 文件加载到 MySQL 中的 PHP 脚本。我将在 cron 中使用它。
我首先尝试使用 DOM 和 XMLReader PHP 库将 XML 解析为可以插入 MySQL 的行。这个文件足够大,以至于我试图处理它时内存不足。我在 PHP 中已经有 128MB 的内存了。
我正在 MySQL 中尝试 LOAD XML INFILE 命令。 MySQL 的这一部分对我来说是全新的。我必须升级到更新版本的 MySQL,以便支持 LOAD XML。我尝试执行此操作:
LOAD XML INFILE '/path/huge_xml_file.xml'
INTO TABLE `my_table`
ROWS IDENTIFIED BY '<ROW>' ;
MySQL 返回:
Error Code: 1045. Access denied for user 'db_user'@'###.###.###.###' (using password: YES)
经过一番阅读,我的理解是默认情况下禁用从 MySQL 加载文件。我很难找到关于我需要在服务器上更改的内容以及在哪里使这种方法适合我的详细说明。
【问题讨论】: