MySQL SELECT INTO OUTFILEステートメントを使用して、テーブルの内容をcsvファイルにダンプしようとしています。私が行った場合:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csvは、このデータベースのファイルが格納されているのと同じディレクトリのサーバーに作成されます。
ただし、クエリを次のように変更すると、
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
私は得ます:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13は権限エラーですが、/ dataの所有権をmysql:mysqlに変更して777権限を付与しても取得されます。MySQLはユーザー「mysql」として実行されています。
不思議なことに、ユーザーmysqlがディレクトリに書き込むことができるように権限を設定しても、私が試した他のディレクトリではなく、/ tmpにファイルを作成できます。
これはUbuntuで実行されているMySQL 5.0.75です。
/tmp
ます。