MySQL基础之用户和权限管理

权限表

user表记录允许连接到服务器的账号信息,里面的权限是全局的

MySQL基础之用户和权限管理

用户列:用户列包含三个字段,user,host,password,user和host为user表的联合主键,连接服务器必须三个字段都匹配

MySQL基础之用户和权限管理

权限列:如上图enum('N','Y'), Y表示有权限N表示无权限

MySQL基础之用户和权限管理

安全列

资源控制列:

max_questions         允许用户的每小时查询操作次数
max_updates            允许用户的每小时更新操作次数
max_connections     允许用户的每小时连接次数
max_user_connections  允许用户同时建立连接的次数

MySQL基础之用户和权限管理

db表                    存储某个用户对数据库的操作权限

host表                  存储的某个主机对数据库的操作权限

table_priv表         对表设置操作权限ss

columns_priv表    对表的某一列设置操作权限

proc_priv表          对存储过程和存储函数设置操作权限


账户管理            

新建普通用户

create user 'user_name'@'host' identified by 'password' with grant option;

grant privileges on db.table to 'suer'@host  identified by password with grant option;

MySQL基础之用户和权限管理

MySQL基础之用户和权限管理

MySQL基础之用户和权限管理

删除普通用户

drop user;

delect  from mysql.user where user='' ,host='';

MySQL基础之用户和权限管理

MySQL基础之用户和权限管理

root用户修改自己的密码

mysqladmin -u username -h localhost -p password "newpwd";

update mysql.suer set password=password('pwd') where user='root' and host='';

set password=password('pwd');

root用户修改普通用户的密码同修改自己密码方式一样,把user换成普通用户用户名即可

普通用户修改自己的密码使用set方法

权限管理

grant privite on db.table to [email protected] identified by pwd    授权

revoke privite on db.table from [email protected]   收回权限

show grants  for [email protected]   查看权限