1. 程式人生 > >MySQL的許可權管理系統的原理

MySQL的許可權管理系統的原理

MySQL使用GRANT和REVOKE命令授予或撤銷針對一個使用者的許可權。

授予的許可權可以分為多個層級:

  • 全域性層級 資料庫層級 表層級 列層級 子程式層級

全域性級授權

GRANT ALL PRIVILEGES ON *.* to ‘nash_su’@’%’ identified by ‘linuxcast’;

資料庫級授權

GRANT ALL PRIVILEGES ON linuxcast.* to  ‘nash_su’@’%’ identified by ‘linuxcast’;

訪問控制,階段1:連線驗證

當你試圖連線MySQL伺服器時,伺服器基於你的身份以及你是否能通過供應正確的密碼驗證身份來接受或拒絕連線。如果不是,伺服器完全拒絕你的訪問,否則,伺服器接受連線,然後進入階段2並且等待請求。

你的身份基於2個資訊:

  • 你從那個主機連線
  • 你的MySQL使用者名稱

在user表Host值的指定方法:

Host值可以是主機名或IP號,或'localhost'指出本地主機。

你可以在Host列值使用萬用字元字元“%”和“_”。

訪問控制, 階段2:請求核實

一旦你建立了連線,伺服器進入訪問控制的階段2。對在此連線上進來的每個請求,伺服器檢查你想執行什麼操作,並檢查相應的許可權是否具備。

撤銷所有授權

REVOKE ALL PRIVILEGES , GRANT OPTION FROM nash_su;