用户权限表
在MySQL中,权限分配是通过一系列的数据表来进行管理的。用户的名称、密码和权限等内容存储在MySQL系统数据库mysql的user表中。
用户管理
mysql.user表中的User、Host、Password字段分别存储了用户的名称、登录主机和密码,自MySQL5.7开始,Password字段由Authentication_string代替。
使用示例
1、创建用户并设置登录密码。
1.1、使用create user命令创建用户。

1.2、查看mysql.user表,已有新增用户的记录,其中密码字段Password的内容已加密。

2、修改用户登录密码。
2.1、使用set password或alter user命令修改用户密码。

2.2、直接修改user表的Password或Authentication_string字段可达到同样效果,密码需要使用password函数加密。

权限管理
mysql.user表中以_priv结尾的字段存储了用户的权限信息。例如Delete_priv表示用户的delete权限,Y表示具有相应权限,N表示无此权限。
使用示例
1、查看并设置用户权限。
1.1、查看用户权限(新增用户无任何权限,所有权限显示为N)。

1.2、使用grant all命令为用户授权。

1.3、再次查看用户权限,除了Grant_priv外的权限均已变为Y。Grant_priv为执行grant命令的权限,若要用户具有Grant_priv权限,可在grant命令结尾添加子命令with grant option。

2、修改用户权限。
2.1、使用命令修改用户权限。

2.2、再次查看用户权限。

2.3、直接修改user表的相应权限字段可达到同样效果。
