Mysql用户管理
Mysql用户包括普通用户和root用户,普通用户只拥有创建该用户时赋予它的权限,root用户是超级管理员,拥有所有的权限,root用户拥有的权限包括创建用户、删除用户和修改普通用户的密码等管理权限。
用户管理包括管理用户的账户、权限等。
安装mysql时会自动安装一个Mysql的数据库,mysql数据库下存储的都是权限表,用户登录以后,mysql数据库会根据这些权限表的内容给每个用户赋予相应的权限,这些权限表中最重要的就是user表、db表、host表,tables_priv表、columns_priv表、proc_priv表。
User表:
用户列;
User表中的用户列包括Host、User、Password,分别表示主机名、用户、密码,每次用户登录时,系统会判断这三个字段,如果这三个字段匹配成功,才会允许登录,创建新用户其实设置这3个字段,修改密码是就是修改User表中的password列。
权限列:
User表的权限列包括Select_priv、Insert_priv等以priv结尾的字段,这些字段决定了用户的权限,这些字段包括查询权限、修改权限等普通权限(操作数据库),还包括关闭服务的权限、超级权限和加载用户等高级管理权限(对数据库进行管理)
字段Y表示该权限可以用到所有数据库上,N表述改权限不能用到所有数据库上,从安全角度来看,这些权限的默认值都为N,可以使用GRANT语句来为用户赋予权限
Grant_priv:是否拥有GRANT权限
Shutdown_priv:是否拥有停止Mysql服务的权限
Super_priv:是否拥有超级权限
Execute_priv:是否拥有EXECUTE权限,拥有EXECUTE权限可以执行存储过程和函数
安全列:
ssl_type:用于加密
ssl_cipher:用于加密
x509_issuer:用来标识用户
x509_subject:用来标识用户
资源控制列:
max_questions:每小时允许多少次查询
max_updates:每小时允许多少次更新
max_connections:每小时可以建立多少连接
max_user_connections:单个用户可以同时具有的连接数
这些字段默认值都为0,表示没有限制。
db表和host表:
db表;存储了某个用户对一个数据库的权限
用户列:db表的用户列中有3个字段:Host(主机名)、Db(数据库名)、User(用户名);
Host表示db表的扩展,其中用户列只有Host和Db
权限表:db表比host表多一个Create_routine_priv字段和Alter_routine_priv字段,这两个字段决定用户是否具有创建和修改存储过程的权限。
User表和db、host表的区别:user表决定的是该用户对所有数据库的权限,而db、host表决定的是该用户对某个数据库的权限
Tables_priv表可以对单个表进行权限设置
Host 主机名
Db 数据库
User 用户名
Table_name 表名
Table_priv 对表进行操作的权限,
Mysql用户管理 来自淘豆网m.daumloan.com转载请标明出处.