指定OUTFILE路径

时间:2011-12-02 15:24:52

标签: mysql sql database

我在 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)

2 个答案:

答案 0 :(得分:0)

你在运行mysql的用户是什么?它是否具有/ data / temp的写权限?

答案 1 :(得分:0)

有几个可能的原因:

  1. (我怀疑是这样的)outfile由客户端编写,因此它只能写入您具有写权限的位置。假设存在/data/temp(请参阅#2),则很可能由mysql:mysqlroot:root以及priv 700拥有。
  2. MySQL的默认位置(至少在Ubuntu中)是/var/lib/mysql,因此请确保/data/temp存在。