MySQLのSELECT結果をCSV出力
MySQLのSELECT結果をCSV出力するには以下のようにSELECT文に「INTO OUTFILE」を記述すればよいとのことです
SELECT * FROM users INTO OUTFILE 'example_users.csv';
試してみたところ以下の通りエラーとなってしまいました
ユーザにPROCESS権限がないとダメなようです
mysql -u user1 -p example_db MySQL [example_db]> SELECT * FROM users INTO OUTFILE 'example_users.csv'; ERROR 1227 (42000): Access denied; you need (at least one of) the FILE privilege(s) for this operation
そこでベタな方法ですがSELECT結果(TSV出力)のタブ区切りをカンマ区切りに変換することで解決しました
echo 'SELECT * FROM `users`' | mysql -u user1 -p example_db | tr '\t' ',' > example_users.csv