我已经看过这个问题大约十几次了,似乎对每个人都有效的答案是相同的:将local-infile = 1
添加到[mysql]
,[mysqld]
,并添加{{ 1}}到my.conf。我已经完成了所有这些以及为我的数据库用户添加。的文件权限,我仍然得到同样的错误。
我在虚拟Ubuntu 14.04服务器上运行MySQL 5.6。任何人都可以让我知道我错过了什么?我已经在我的实时服务器上成功运行了,这是一个运行CentOS和MySQL 5.6的VPS,我不记得必须通过任何环节来让它工作,虽然它是在不久前我设置它
如果重要,我正在尝试通过以下PHP函数进行导入:
[client] loose-local-infile=1
反过来就像这样调用:
// Connect to a database without using prepared statements (for LOAD FILE feed commands)
// $query = query to execute; $rs = return a result set if true
function db_query_unprepared($query, $rs = false) {
// Create database connection
$link = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if (!$link) {
print 'Error connecting to MySQL Server. Errorcode: ' . mysqli_connect_error();
exit;
}
// Execute the query
if ($rs) {
$queryresults = array();
$counter = 0;
if (mysqli_multi_query($link, $query)) {
do {
// Save results to an array
if ($result = mysqli_store_result($link)) {
while ($row = mysqli_fetch_assoc($result)) {
$queryresults[$counter][] = $row;
}
mysqli_free_result($result);
$counter++;
}
} while (mysqli_next_result($link));
}
else {
print mysqli_error($link);
}
}
else {
mysqli_multi_query($link, $query);
}
mysqli_close($link);
// Return the results
if (isset($queryresults)) {
return $queryresults;
}
}