MySQL如何进行用户授权
1、查看数据库中的所有用户。MySQL用户存储在mysql数据库中的user表当中,可直接查询这张表即可。
执行命令:select user,host from mysql.user;

2、创建新用户。使用create user 命令,并指定用户名,主机以及密码。一个用户实际由用户名和主机两个部分组成,语法为user_name@host_name,用户名和主机如果有特殊字符必须使用单引号。删除用户可通过drop user命令。
语法:create user 'user_name'@'host_name' identified by 'password';
例子:create user 'system'@'127.0.0.1' identified by '123456';


3、查看用户权限信息。使用show grants命令来查看,使用create user命令创建的用户最初是无权限的,可以看到是usage权限即无权限。
语法:show grants for 'user_name'@'host_name' ;
例子:show grants for 'system'@'127.0.0.1' ;

4、设置用户的资源限制。我们可以限制一个用户在一定时间内操作的次数,限制的资源有以下几项:
1.max_queries_per_hour,限制一个用户在一小时内执行sql的次数。
2.max_updates_per_hour,限制一个用户在一小时内执行更新次数。
3.max_connections_per_hour,限制一个用户在一小时内连接MySQL的次数。
4.max_user_connections,限制一个用户在同一时间内连接MySQL次数,即高并发数。
设置授权用户资源限制例子:create user 'system'@'127.0.0.1' identified by 'mysql' with max_queries_per_hour 100 ;
修改授权用户资源限制例子:alter user 'system'@'127.0.0.1' with max_queries_per_hour 50;

5、授权用户操作权限。使用grant命令,指定授予的权限,授予权限级别(全局,数据库级别,数据库对象级别),授予的用户。
语法:grant privs on db_name.table_name to 'user_name'@'host_name' ;
例子:grant all privileges user on *.* to 'system'@'127.0.0.1' ;

6、回收用户权限。有时需要回收某个用户的某些权限,可使用revoke命令,并指定要回收的权限,回收权限的级别(全局,数据库级别,数据库对象级别),回收的用户。
语法:revoke privs on db_name.table_name from 'user_name'@'host_name' ;
例子:revoke delete,drop on *.* from 'system'@'127.0.0.1' ;

7、总结:
1.查看数据库中的所有用户
2.创建新用户
3.查看用户权限信息
4.设置用户的资源限制
5.授权用户访问权限
6.回收用户权限