MySQL で FLUSH PRIVILEGES を使用する場合 (および使用しない場合)
新しいユーザーとその関連データベースを作成する場合、コマンドを実行するのが一般的ですlike:
CREATE DATABASE mydb; GRANT ALL PRIVILEGES ON mydb.* TO myuser@localhost IDENTIFIED BY "mypassword";
ただし、チュートリアルでは、これらのコマンドの後に FLUSH PRIVILEGES コマンドも使用されることがよくあります。ここで疑問が生じます: FLUSH PRIVILEGES が実際に必要なのはどのような場合ですか?
FLUSH PRIVILEGES が不要な場合
MySQL ドキュメントに記載されているように、GRANT を通じて割り当てられた権限には FLUSH は必要ありません。有効になる特権。 MySQL サーバーはこれらの変更をすぐに認識し、付与テーブルをリロードします。
FLUSH PRIVILEGES が必要な場合
FLUSH PRIVILEGES は、次のようなコマンドを使用して付与テーブルが直接変更される場合にのみ必要です。挿入、更新、または削除。このような場合、サーバーが再起動されるか、FLUSH PRIVILEGES を使用して付与テーブルがリロードされるまで、変更は権限チェックに反映されません。
変更が行われたときに生じる可能性のある混乱を避けるために、この区別を理解することが重要です。直接変更による付与テーブルは何の効果もないようです。
以上がMySQL で FLUSH PRIVILEGE が実際に必要になるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。