何時在MySQL 中使用(和不使用)FLUSH PRIVILEGES
建立新使用者及其關聯資料庫時,執行指令是很不錯常見的例如:
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 PRIVILEGES?的詳細內容。更多資訊請關注PHP中文網其他相關文章!