在資料庫管理權限的授予、移除是很重要的事情,最近因為專案開始接觸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來刷新暫存
留言列表