close

在資料庫管理權限的授予、移除是很重要的事情,最近因為專案開始接觸MySQL的操作,紀錄一下操作上學習到的部分

 

我們可以先檢查目前有配置了那些權限

SHOW GRANTS;

SHOW GRANTS FOR [使用者];

授予權限

GRANT [權限] ON [DB Name].[物件] TO '使用者名稱'@'主機IP'

移除權限

REVOKE [權限] ON [DB Name].[物件] FROM '使用者名稱'@'主機IP'

語法很好記,授予什麼權限to什麼人,移除什麼權限From什麼人

 

會遇到要使用權限配置是因為AP使用的帳號無法使用SP的狀況

補上一下使用範例

GRANT EXECUTE ON XX_DB.* TO 'AP_USER'@'%'  --執行SP權限

GRANT CREATE ROUTINE ON XX_DB.* TO 'AP_USER'@'%'  --建立SP權限

GRANT ALTER ROUTINE ON XX_DB.* TO 'AP_USER'@'%'  --修改SP權限

FLUSH PRIVILEGES

如果只要授予特定SP,就在XX_DB.* 改成 XX_DB.[SP_NAME]

使用者後面的 '%'是不指定特定主機,如果要指定特定主機可改成 'AP_USER'%'10.10.10.10' 改成主機IP或 'localhost' 本地主機。

最後一句Flush Privileges是要刷新權限設定,在MySQL Server啟動後/重啟後,會加載目前的權限設定

而在修改權限設定後不想重啟那可以使用Flush Privileges來刷新暫存

arrow
arrow
    文章標籤
    MySQL
    全站熱搜

    Louis 發表在 痞客邦 留言(0) 人氣()