LINUX MYSQL C API
MYSQL SERVER VERSION IS:5.1.9
MYSQL CLIENT API VERSION:6.0.2
错误为
Can't get stat of '/usr/local/mysql/var/NetCenter_Cache/FileCahce_HttpDown.Dat' (Errcode: 2),内容: LOAD DATA INFILE './NetCenter_Cache/FileCahce_HttpDown.Dat' INTO TABLE data_httpdown_2013-07-24
( probe_id
, src_mac
, dst_mac
, src_ip
, dst_ip
, src_name
, dst_name
, dst_equip_type
, dst_app_id
, ip_version
, ip_tunnel
, src_port
, dst_port
, proto_type
, proto_sub_type
, operation
, log_type
, log_level
, opstatus
, rule_id
, group_id
, rulekeyword
, domain
, url
, summary
, content
, file_name
, log_time
, str_time
)
此路径为错误:
/usr/local/mysql/var/NetCenter_Cache/FileCahce_HttpDown.Dat
我使用的是相对路径
./NetCenter_Cache/FileCahce_HttpDown.Dat
路径被指向
/usr/local/netaudit/NetCenter_Service/NetCenter_Release/NetCenter_Cache
为什么要改变呢?我使用绝对路径没有问题
2条答案
按热度按时间5fjcxozz1#
这是因为
LOAD DATA
是由服务器进程(而不是客户机)执行的,MySql守护进程的当前目录是因此,请使用数据文件的绝对路径,或者如果出于某种原因(我无法想象任何原因),您希望它是相对路径,则可以从
而不是来自
w1jd8yoj2#
十年后,从MySQL版本8开始,LOAD DATA语句有一个可选的LOCAL修饰符,可以完成您所要求的任务。
https://dev.mysql.com/doc/refman/8.0/en/load-data.html