我在 Ubuntu 计算机上使用 MySQL 数据库,并运行以下SQL语句:
SELECT id,name FROM cars
INTO OUTFILE 'my_cars.dat'
LOAD DATA INFILE 'my_cars.dat' INTO TABLE all_cars(id, name);
有效。 但是如何指定路径到my_cars.dat
文件的位置?
我的意思是,例如,我想将my_cars.dat
文件放在/data/temp
下,我该如何指定?
我尝试使用... INTO OUTFILE '/data/temp/my_cars.dat' ...
,但它不起作用......
我收到了错误:
ERROR 1 (HY000): Can't create/write to file '/data/temp/my_cars.dat' (Errcode: 13)
答案 0 :(得分:0)
你在运行mysql的用户是什么?它是否具有/ data / temp的写权限?
答案 1 :(得分:0)
有几个可能的原因:
outfile
由客户端编写,因此它只能写入您具有写权限的位置。假设存在/data/temp
(请参阅#2),则很可能由mysql:mysql
或root:root
以及priv 700
拥有。/var/lib/mysql
,因此请确保/data/temp
存在。