您的位置:首页 > 数据库 > MySQL

MySQL用户管理

2017-09-14 20:18 148 查看
MySQL服务器通过权限表来空值用户对数据库的访问,权限表存放在mysql数据库中,由mysql_install_db 脚本初始化,存储账户权限信息表主要有:user,db,host,tables_priv,columns_priv和procs_priv.

user表是MySQL中最重要的一个权限表,其中的字段大致分为四类:用户列,权限列,安全列和资源控制列。

其中用户列包括:Host、User、authentication,分别表示主机名、用户名、密码,其中User和Host为User表的联合主键。当用户与服务器之间建立连接时,输入的账号信息中的用户名称、主机名和密码必须匹配User表中对应的字段。

db表和host表

db表和host表是MySQL数据中非常重要的权限表,db表中存储了用户对某个数据库的操作权限,决定用户从哪个主机存取哪个数据库,host表中存储了某个主机对数据库的操作权限,配合db权限对给定主机上数据库级操作权限做更细致的控制。

tables_priv表和columns_priv表

tables_priv表用来对表设置操作权限,columns_priv表用来对表的某一列设置权限。

tables_priv表中 Host,Db,User和Table_name分别表示主机名,数据库名,用户名和表名。

Grantor表示修改该记录的用户。

Time_priv表示对表的操作权限包括Select ,Insert,Update,Delete,Create,Drop,Grant,References,Index和Alter。

Column_priv字段表示对表中的列的操作权限。

创建user用户:









刷新权限:

FLUSH PRIVILEGES;

修改msql数据库的user表

UPDATE mysql.user set authentication_string =PASSWORD('rootpwd')WHERE User='root'and HOST='localhost';

刷新:

FLUSH PRIVILEGES;

使用SET语句修改root用户的密码

SET PASSWORD=password(‘rootpwd’);

root用户修改普通用户密码

SET语句修改普通用户的密码:

SET PASSWORD FOR ‘user’@‘host’=PASSWORD(‘somepassword’);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: