iT邦幫忙

0

關於 MySQL 資料庫 執行 revoke 撤銷權限問題

  • 分享至 

  • xImage

您好, MySQL 資料庫版本是 8.0.23 版。

遇到的問題是,當我對某一個使用者在資料庫中的特定資料表執行 revoke 指令回收權限的時候,會發生如下圖般的錯誤訊息。
https://ithelp.ithome.com.tw/upload/images/20221114/20035296a8knzJWO1X.png

但是如果我不指定 資料庫,執行 Revoke 回收 Update 權限,卻又可以正常執行。
https://ithelp.ithome.com.tw/upload/images/20221114/20035296lGkzV1dKi8.png

如果我對某一個資料庫,但是不指定資料表,執行 Revoke 回收 Update 權限,也可以正常執行。
https://ithelp.ithome.com.tw/upload/images/20221114/20035296ikXqLhOsSl.png

結論就是,如果我必須對特定資料庫中的指定資料表做 revoke 就會出現 :

There is no such grant defined for user 'Chin' on host '%' on table 'plant'

有人解決過這樣的問題嗎?

感謝回覆,謝謝。

johncoc iT邦新手 3 級 ‧ 2022-11-15 14:56:21 檢舉
請詳讀官方文件,裡面寫得很清楚
https://dev.mysql.com/doc/refman/8.0/en/revoke.html
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-19 09:14:16

這可能是因為您嘗試撤銷的權限並不存在。

以下命令確認特定使用者在特定資料表上的權限:

SHOW GRANTS FOR 'user'@'host';

請將 "user" 和 "host" 替換為您要檢查的使用者和主機名稱。

如果您確定要撤銷該使用者的權限,請確保使用下面的語法:

REVOKE privilege ON table FROM 'user'@'host';

請確保使用正確的權限和資料表名稱,以及要撤銷權限的正確使用者和主機名稱。

我要發表回答

立即登入回答