格式:mysql
grant 權限 on 庫 to 用戶@'容許登陸的主機' identity by '密碼' 擁有受權權限(可選項);sql
權限:ide
all #全部權限spa
usage #沒有權限.net
select update delete #個別權限 多個用逗號隔開get
庫:it
*.* #全部表io
庫.* #單個庫class
庫.表 #單個表登錄
登陸主機:
localhost #僅本地登陸
% #任何主機
192.168.1.% #指定網段
192.168.1.11 #指定主機
受權權限:
with grant option
舉例:
授予oschina用戶在任何主機登陸對全部表的全部權限登陸密碼爲123qq...A 及 受權權限
mysql> grant all on *.* to oschina@'%' identified by '123qqq...A' with grant option;
Query OK, 0 rows affected, 1 warning (0.04 sec)
mysql> show grants for oschina@'%'; #查看權限
+----------------------------------------------------------------+
| Grants for oschina@% |
+----------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'oschina'@'%' WITH GRANT OPTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
受權用戶os1 僅能夠本地登陸 僅對oschina庫的b1 表擁有 select 和 update 權限
mysql> grant select,update on oschina.b1 to os1@localhost identified by '123qqq...A';
Query OK, 0 rows affected, 1 warning (0.26 sec)
mysql> show grants for os1@localhost;
+-------------------------------------------------------------+
| Grants for os1@localhost |
+-------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'os1'@'localhost' |
| GRANT SELECT, UPDATE ON `oschina`.`b1` TO 'os1'@'localhost' |
+-------------------------------------------------------------+
2 rows in set (0.00 sec)
刪除受權用戶:
mysql> drop user oschina@'%';
Query OK, 0 rows affected (0.00 sec)
修改用戶os1的登陸密碼
mysql> set password for os1@localhost=password('123qqq...OS');
Query OK, 0 rows affected, 1 warning (0.00 sec
撤銷權限
撤銷用戶os1 對oschina庫下b1的select 權限
mysql> revoke select on oschina.b1 from os1@localhost;
Query OK, 0 rows affected (0.00 sec)
撤銷 用戶oschina 的受權權限
mysql> revoke grant option on *.* from oschina@'%';