mysql權限分爲全局權限、庫權限、表權限,對應於mysql庫裏面的user表、db表、tables_priv表。
grant all privileges on *.* :操作mysql.user表
grant all privileges on db.* :操作mysql.db表
grant all privileges on db.table :操作mysql.tables_priv表
這三種操作分別對應不同的表,互不影響,賦予一個用戶大粒度的權限,並不能收回小粒度的權限。
示例如下:
root@localhost:mysql3306.sock 14:02: [test]>grant all privileges on *.* to test@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
root@localhost:mysql3306.sock 14:03: [test]>revoke update on test.* from test@'127.0.0.1';
ERROR 1141 (42000): There is no such grant defined for user 'test' on host '127.0.0.1'
root@localhost:mysql3306.sock 14:03: [test]>revoke update on test.a from test@'127.0.0.1';
ERROR 1147 (42000): There is no such grant defined for user 'test' on host '127.0.0.1' on table 'a'