問:
我怎麼可以給新的用戶幾乎所有的權限,但仍保留一個或多個表/保護他們的數據庫。格蘭特[幾乎]所有MySQL權限爲所有,但一個/幾張桌子
詳情:
如果我有一個數據庫,
life
三和表
passwords
friends
hobbies
我怎麼給這個用戶,例如,以下特權:
- INSERT
- UPDATE
- DELETE
- CREATE
- DROP
- ALTER
對於前三,我會的東西開始,像這樣:
GRANT INSERT, UPDATE, DELETE ON life.friends TO [email protected]'localhost' IDENTIFIED BY 'password';
GRANT INSERT, UPDATE, DELETE ON life.hobbies TO [email protected]'localhost' IDENTIFIED BY 'password';
但我很困惑,如何使用CREATE
和DROP
。如果我承認在整個數據庫上放棄特權,像這樣:
GRANT DROP ON life TO [email protected]'localhost' IDENTIFIED BY 'password';
然後用戶可以刪除passwords
表,這是我不想要的。我可以改爲授予它基於表像這樣:
GRANT DROP ON life.friends TO [email protected]'localhost' IDENTIFIED BY 'password';
GRANT DROP ON life.hobbies TO [email protected]'localhost' IDENTIFIED BY 'password';
不過,如果我承認喜歡CREATE
特權,因此會發生什麼:
GRANT CREATE ON life TO [email protected]'localhost' IDENTIFIED BY 'password';
這是否意味着,用戶甚至無法刪除很表他/她創建?我的問題也涉及創建/刪除數據庫。如果我想讓用戶創建和刪除儘可能多的自己的數據庫,但是不是的life
數據庫?
我是否應該改變我的方法,將passwords
表移動到另一個數據庫中?
謝謝您的高級。
單獨的數據庫是要走的路。 MySql權限是有限的。他們不允許「拒絕」權限。 – 2012-04-18 03:53:18
@TheScrumMeister我會接受,如果您發佈它的答案 – puk 2012-04-18 03:53:58
它不是一個完整的答案;-)。作爲處理MySql權限的人,這是我遇到的(許多)限制之一。 – 2012-04-18 03:56:09