我創建了一個用戶,該用戶擁有選擇列用戶名和列IP的權限。他也擁有針對列IP的INSERT和UPDATE的權限。MySQL允許用戶使用WHERE但拒絕SELECT
我的問題是,他應該能夠做到以下幾點:
[1] UPDATE table SET ip='localhost' WHERE
key
= 「XXXXXXXX」
但應該拒絕這樣做:
[2] SELECT key from table
如果我給他選擇權列鍵嘿可以做[2],如果我撤銷我得到的權利:
SELECT command denied to user 'username'@'localhost' for column 'key' in table 'table'
我能做些什麼來解決這個問題嗎?
就算你能,你不能阻止'SELECT鍵FROM表WHERE關鍵LIKE「%」'... – glglgl
您可以創建一個存儲過程,用戶有權執行,沒有其他明確的'UPDATE ''或'SELECT'權限。 –
如果您明確限制對存儲過程中定義的查詢的限制,或者是否需要允許任意查詢修改「ip」列,可以嗎? –