MySQL 筆記:建立使用者, 更改使用者權限

     mysql 的使用者資料是建立在一個 table 當中,這個 table 記錄了所有可以使用這個 mysql 伺服器上的使用者的資料。當要登入 mysql 伺服器時,mysql 會根據這個 table 中使用者的帳號密碼去驗證目前登入的使用者是否為合法使用者。權限管理的概念也如同建立使用者資料。
     而基於上述,新增使用者或更改使用者權限的方式出現了兩種,第一種是最基本的,也就是直接使用 mysql 官方提供的語法,例如:CREATE USER, GRANT 等等,而這些官方提供的方便語法執行後會立刻生效。
     而第二種方法就是利用 INSERT, UPDATE, DELETE 等語法直接更改記錄使用者資料與權限的 table,但此種方法不會立刻生效,需要執行一到指令:FLUSH PRIVILEGES,這到指令有點像重新整理所有權限,一種重新載入所有使用者資料與使用者擁有權限的概念。


舉例:
  • 建立使用者:
     CREATE USER ‘newuser’@‘host’ IDENTIFIED BY ‘password’;

  • 賦予使用者權限
     GRANT ALL database.table TO ‘user’@‘host’ 
          ALL: 權限,如果只有部分權限,則可直接指出(如:CREATE, UPDATE, SELECT...等)。
          database.table: 決定要賦予的資料庫或表格。
          ‘user’@‘host'要賦予權限的對象。

  • 更新使用者權限狀況:
     FLUSH PRIVILEGES;
          將以上上述的加入使用者或是賦予新權限的設定重新載入,使其生效。

總結:
  1. 新增使用者和更改使用者權限有兩種方式,分別是:自行插入table 和 使用官方提供的語法。
  2. 使用官方提供的語法執行後,設定會立刻生效。
  3. 使用直接更動 table 的方式,更動後的設定不會立刻生效,需要透過 flush privileges 指令重新載入所有設定後,才會生效.          

留言

這個網誌中的熱門文章

MySQL 筆記:Join 合併表格,使用方式

Android 筆記:在Android Studio上製作分頁效果(FragmentTabHost 使用方法)

Debian, Parallels desktop 筆記:如何建立自己的 Shared Folder / Debian and PD(Parallels Desktop) notes: How to create your own shared folder in the Linux VM in Parallels Desktop