[英]load data infile is not allowed MariaDB
我创建了一个PHP脚本,用于将CSV文件中的帖子导入WordPress网站。
为此,我首先将帖子批量导入WP网站数据库的表中,然后PHP脚本创建帖子。 我使用的批量插入MYSQL查询如下:
load data local infile '/var/www/vhosts/sitenamehere.test/test.csv' into table test_table character set latin1 fields terminated by ';' lines terminated by '\r\n' ignore 1 lines;
当我从服务器运行脚本时,出现以下错误:
“此MariaDB版本不允许在查询加载数据本地infile中使用所使用的命令...”
仅当我从服务器执行脚本时才会出现问题,实际上,如果我从phpMyAdmin运行相同的查询,则可以导入文件。
由于我的脚本不仅可以导入,还可以更新帖子,因此其目的是创建cron作业,以便每天执行多次脚本。 显然,如果我不断遇到相同的错误,这是不可能的。
我尝试添加:
my.cnf
[client]
和[mysqld]
部分下的local-infile=1
行 my.cnf
的[mysql]
部分下的mysql.allow_local_infile=On
行 php.ini
的[MySQLi]
部分下的mysql.allow_local_infile=On
行位于/opt/plesk/php/7.1/etc
但是没有任何帮助。 有任何想法吗?
https://mariadb.com/kb/zh/library/load-data-infile/上的指南说
如果将local_infile系统变量设置为0,则尝试执行LOAD DATA LOCAL的操作将失败,并显示一条错误消息。
最好的选择是更改正在使用的my.ini文件。
而且,使用的数据库用户需要FILE特权。
您必须添加AllowLoadLocalInfile=true;
要加载本地文件时,将其连接到MySQL / MariaDB服务器连接字符串。
如果使用类似LOAD LOCAL INFILE命令的命令,则在命令本身中添加--local_infile=1
,它应该可以正常工作。
在这两个服务器的最新版本中,默认情况下禁用此功能,仅应在必要时启用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.