#### 授权格式:
~~~
GRANT ON TO [IDENTIFIED BY ""] [WITH GRANT OPTION];
~~~
#### 授权参数讲解:
**privilegesCode**表示授予的权限类型,常用的有以下几种类型:
* all privileges:所有权限。
* select:读取权限。
* delete:删除权限。
* update:更新权限。
* create:创建权限。
* drop:删除数据库、数据表权限。
**dbName.tableName**表示授予权限的具体库或表,常用的有以下几种选项:
* ~~~
*.*:授予该数据库服务器所有数据库的权限。
~~~
* dbName.\*:授予dbName数据库所有表的权限。
* dbName.dbTable:授予数据库dbName中dbTable表的权限。
`username@host`表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:
* **localhost:**只允许该用户在本地登录,不能远程登录。
* **%:**允许在除本机之外的任何一台机器远程登录。
* **192.168.52.32:**具体的IP表示只允许该用户从特定IP登录。
**password**指定该用户登录时的面。
**flush privileges**表示刷新权限变更。
#### 1、查看所有用户以及授权主机
~~~
mysql> select User,Host from mysql.user;
+--------+-----------+
| User | Host |
+--------+-----------+
| user2 | % |
| zabbix | % |
| root | localhost |
+--------+-----------+
5 rows in set (0.00 sec)
~~~
#### 2、查看某个用户的授权情况
~~~
mysql> show grants for 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
~~~
或者
~~~
mysql> show grants for 'zabbix'@'%';
+------------------------------------+
| Grants for zabbix@% |
+------------------------------------+
| GRANT USAGE ON *.* TO 'zabbix'@'%' |
+------------------------------------+
1 row in set (0.00 sec)
~~~
#### 3、授权
* 授权所有权限
~~~
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
~~~
* 授权单个gogs库权限
~~~
GRANT ALL PRIVILEGES ON gogs.* TO 'user2'@'%' IDENTIFIED BY 'passwd2';
~~~
* 授权单个user表权限
~~~
GRANT ALL PRIVILEGES ON gogs.user TO 'user2'@'%' IDENTIFIED BY 'passwd2' WITH GRANT OPTION;
~~~
* 单独授权增删改查权限,而不是所有权限
~~~
grant select, insert, update, delete on gogs.* to user@'%';
~~~
* 授权某个固定主机权限
~~~
grant select, insert, update, delete on gogs.* to user@'172.16.3.200';
~~~
#### 4、取消授权
~~~
revoke ALL PRIVILEGES ON *.* from 'user'@'%';
flush privileges;
~~~
#### 5、删除用户
~~~
drop user user@"%";
~~~