mysqlimportを使用して、テーブル内のデータをTSVファイルの値に置き換えています。すべてがうまくいっています(DBスーパーユーザーの名前とパスワードを使用してデータをインポートしています)ので、インポートするデータベースユーザーが置き換えたい単一のテーブルにしか影響を及ぼさないように、ロックします。ロードデータinfileを使用するための最小限のデータベース特権
にFILEを付与する必要があることは知っています。 "LOAD DATA INFILE"(mysqlimportがラップする)を使用するには、データベースに与えることができる最小限の権限セットを見つけるのが難しいです。
私は試しました。
grant FILE on *.* to ...
grant ALL on dbname.tablename to ....
しかし、mysqlimportを実行するとエラーになります。
mysqlimport: Error: Access denied for user ...
は、誰もがそれだけで、関連するテーブルには、このユーザが変更できるようにデータベースを分離することは可能ですかどうかを知り、または私はmysqlimportはを可能にするためにそれらをより広範なアクセスを許可しなければならないのでしょうか?
'FILE'が' ALL'にないことは知っていますか?それはちょっとした誤解です。次に、アクセスが拒否されると、その前にユーザー名、ホスト、またはパスワードで失敗します。 – Wrikken
[MySQLのロードデータinfileのアクセスが拒否されました]の複製が可能です(http://stackoverflow.com/questions/2221335/access-denied-for-load-data-infile-in-mysql) – blo0p3r