从远程服务器加载数据输入错误
Posted
技术标签:
【中文标题】从远程服务器加载数据输入错误【英文标题】:LOAD DATA INFILE from remote server getting error 【发布时间】:2018-06-07 04:05:23 【问题描述】:尝试在mysql Server 5.5
中使用以下命令将CSV
数据加载到远程MySQL Server
,并使用php-5.6
PDO
连接。
LOAD DATA INFILE :file INTO TABLE test_csv COLUMNS
TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n';
但我收到以下错误:
PHP 警告:chown(): Unable to find uid for mysql in /var/www/proj/csvtodb.php 第 22 行 2017-12-26 09:21:18,
SQLSTATE[HY000]: 一般错误: 13 Can't get stat of '/tmp/csvfile-1.csv' (Errcode: 2)
请帮助我们解决此问题。
【问题讨论】:
文件是在远程服务器上还是在客户端服务器上?如果在客户端服务器上,则需要使用LOAD DATA LOCAL INFILE
。
第一个警告与 MySQL 查询无关,它来自脚本前面对 chown()
的调用。
@barmar: csv 文件仅在客户端服务器中
【参考方案1】:
如果 CSV 文件位于运行脚本的 PHP 服务器上,而不是远程 MySQL 服务器上,则需要使用 LOAD DATA LOCAL INFILE
。 LOAD DATA INFILE
在 MySQL 服务器上查找文件。
【讨论】:
我按照你所说的进行了更改,但我仍然收到以下错误 PHP 警告:chown(): Unable to find uid for mysql in /var/www/proj/csvtodb.php on line 22 PHP Warning : PDOStatement::execute(): LOAD DATA LOCAL INFILE 在第 445 行的 /var/www/proj/comm.php 中被禁止 见***.com/questions/7638090/…chown()
错误是因为/etc/passwd
中没有用户名mysql
,而您正在尝试执行chown($filename, "mysql");
之类的操作
我尝试了这个解决方案***.com/questions/7638090/…,但仍然遇到同样的错误
由于是某种 MySQL 配置问题,请尝试在 dba.stackexchange.com 中询问。以上是关于从远程服务器加载数据输入错误的主要内容,如果未能解决你的问题,请参考以下文章
将 PDF 文档从远程服务器加载到 base64 编码数据中
通过远程桌面从 Microsoft SQL 数据库读取数据。 R
在不使用 S3 存储桶的情况下将数据从远程服务器的 .gz 文件加载到 redshift 的 postgresql 实例?