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
为什么要改变?我使用绝对路径没有问题
最佳答案
这是因为LOAD DATA
是由服务器进程(而不是客户端)执行的,并且MySql守护进程的当前目录是
/usr/local/mysql/var/
因此,请使用数据文件的绝对路径,或者如果出于某种原因(我无法想象任何原因)您希望它是相对路径,则从 构建它
`/usr/local/mysql/var/`
而不是来自
`/usr/local/netaudit/NetCenter_Service/NetCenter_Release/`
关于c++ - 使用mysql加载数据infile相对路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17848210/