2010-10-05 101 views
15

如何在mysql中爲單個表創建只讀的用戶,而他仍然可以對同一個數據庫中的其他表進行寫入訪問?在mysql中創建單個表只讀

其他信息

  • 我必須到服務器
  • 表是MyISAM的root訪問權限
  • Server版本是5.0.51a-24 + lenny2

的感謝!

回答

6

撤銷先前所有權限,然後授予特定的新特權:

REVOKE ALL ON db.table FROM user; 
REVOKE ALL ON db.othertable FROM user; 
GRANT SELECT ON db.table TO user; 
GRANT SELECT, INSERT, UPDATE, DELETE ON db.othertable TO user; 
+3

如果此用戶已經有此表上,我應該撤銷這些與每個表分配單個表的權限或者我可以覆蓋的特權「ALL特權」單選表只有SELECT? – ChrisR 2010-10-05 07:29:59

+1

@chris有效的問題。儘管如此,簡單地嘗試這一點應該是一個秒鐘的事情) – sfussenegger 2010-10-05 07:32:35

+3

真的,但我並不真的很想在實時數據庫上嘗試這一點,並用相同的數據設置測試數據庫不是幾秒鐘的事情:)我會測試它,讓我們看看有多快我可以得到一個本地鏡像的實時分貝:) – ChrisR 2010-10-05 07:35:40