MySQLテーブルからファイルにデータを出力しようとしていますが、許可エラーが発生しています:
$ pwd
/home/dotancohen
$ mkdir in
$ chmod 777 in/
$ mysql -ugs -p
mysql> USE someDatabase;
mysql> SELECT * FROM data INTO OUTFILE '/home/dotancohen/in/data.csv';
ERROR 1045 (28000): Access denied for user 'gs'@'localhost' (using password: YES)
mysql>
問題のディレクトリが777にchmoddedされている場合、MySQLユーザーがファイルを書き込めないのはなぜですか?興味深いことに、/ tmp /にも書き込めません。
編集: DBユーザーが適切なMySQL権限を持っているように見えます:
mysql> show grants;
+----------------------------------------------------------------------------------+
| Grants for gs@localhost |
+----------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'gs'@'localhost' IDENTIFIED BY PASSWORD 'somePassword' |
| GRANT ALL PRIVILEGES ON `gs\_%`.* TO 'gs'@'localhost' |
+----------------------------------------------------------------------------------+
2 rows in set (0.01 sec)
SELECT
権限があります。私はしばしばこのユーザーとしてデータベースを閲覧します。
in
MySQLにアクセスできない場合、権限を付与しても意味がありませんdotanchoen
。言い換えれば、銀行の金庫の安全保管箱は大きく開いたままにすることができますが、銀行の金庫のドアがロックされている場合は、箱に入れません。あなたのgs
ユーザーは、mysqlの持っている必要がありFILE
、実際にそのクエリを実行するための権限を。