ナクナイ

勉強用の備忘録

[mysql] GRANT 構文で FLUSH PRIVILEGES をする必要はない

mysql で ユーザー権限の追加等で GRANT 文を発行したら flush することが当たり前といつの日からか思ってましたが、ぜんぜんそんなことありませんでした。


以下、公式ドキュメント
MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.7.7 権限の変更が反映するタイミング
からの引用

GRANT, REVOKE, or SET PASSWORD などのステートメントを使用して、間接的に権限テーブルを変更する場合は、サーバがこれらの変更を認識し、その変更があった直後に権限テーブルをメモリへリロードします。

INSERT、UPDATE、DELETE などのステートメントを使用して、直接に権限テーブルを変更する場合は、サーバを再起動するか、またはテーブルのリロードを行なうまでその権限チェックは施行しません。手動で権限テーブルをリロードするには、FLUSH PRIVILEGES ステートメントを発行するか、mysqladmin flush-privileges または mysqladmin reload コマンドを実行します。

覚えておこ。。