mysqldump --tab を使う場合、ディレクトリにはmysql ユーザの書き込み権限が必要

mysqldumpコマンドを叩いているユーザの権限かと思っていたけど、mysqlプロセス上からSELECT ... OUTFILE で書き出すからmysqlの権限が必要ということ?

テーブルのschemaの.sql は実行したユーザで作成されていたけどデータの.txt はmysqlユーザだった。

$ cd /var/tmp/
$ mkdir benchmark
$ mysqldump benchmark -p -T benchmark
mysqldump: Got error: 1: Can't create/write to file '/var/tmp/benchmark/customer.txt' (Errcode: 13) when executing 'SELECT INTO OUTFILE'
$ chmod 777 benchmark
$ mysqldump benchmark -p -T benchmark