Tôi đang cố gắng kết xuất nội dung của bảng vào tệp csv bằng cách sử dụng câu lệnh MySQL SELECT INTO OUTFILE. Nếu tôi làm:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv sẽ được tạo trên máy chủ trong cùng thư mục mà tệp của cơ sở dữ liệu này được lưu trữ.
Tuy nhiên, khi tôi thay đổi truy vấn của mình thành:
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
Tôi có:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 là một lỗi quyền, nhưng tôi vẫn nhận được nó ngay cả khi tôi thay đổi quyền sở hữu / dữ liệu thành mysql: mysql và cấp cho nó 777 quyền. MySQL đang chạy với tư cách người dùng "mysql".
Kỳ lạ là tôi có thể tạo tệp trong / tmp, không phải trong bất kỳ thư mục nào khác mà tôi đã thử, ngay cả với các quyền được thiết lập để người dùng mysql có thể ghi vào thư mục.
Đây là MySQL 5.0.75 chạy trên Ubuntu.
/tmp
.