【MySQL】:用户管理

发布时间:2024年01月09日

在这里插入图片描述

如果在以下操作中出现以下报错

在这里插入图片描述

可以使用刷新权限

在这里插入图片描述

一.用户

1.用户信息

MySQL中的用户,都存储在系统数据库mysql的user表中。

在这里插入图片描述

字段解释:

host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆。
user: 用户名。
authentication_string: 用户密码通过password函数加密后的。
*_priv: 用户拥有的权限。

所以这里有一种非常粗暴的方法添加用户,直接使用insert向user表里进行插入即可。

2.创建用户

直接插入法实在过于麻烦并且危险,所以我们一般使用mysql专门的创建语句。注意:这些语句本质也是在对user表进行修改。

语句:create user ‘用户名’@‘登陆主机/ip’ identified by ‘密码’;

接着进行创建

在这里插入图片描述

但是这种创建的用户只允许进行本地登陆,为了能进行远程登陆,我们可以使用下面的方法。

在这里插入图片描述

%就代表任意。注意:在一般工程里是严禁使用%的,它是不安全的。

3.修改密码

当然可以直接修改use表,但不安全。

修改自己的密码

set password=password(‘新的密码’);

用root修改密码

set password for ‘用户名’@‘主机名’=password(‘新的密码’)

在这里插入图片描述

4.删除用户

当然我们可以直接删除user表里的数据,但这样很不安全,所以使用专门的语句。

语法:drop user ‘用户名’@‘主机名’

在这里插入图片描述

二.数据库权限

MySQL数据库提供的权限列表:

在这里插入图片描述

1.给用户授权

刚创建的用户没有任何权限。需要给用户授权。

语法:grant 权限列表 on 库.对象名 to ‘用户名’@‘登陆位置’ [identified by ‘密码’]

说明:

1.权限列表,多个权限用逗号分开
2.*.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
3.库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
4.identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

再开一个终端,进行双向查看,一个root,一个普通账户

在这里插入图片描述

在root终端里创建一个rootDB库,向里面添加些表

在这里插入图片描述
在这里插入图片描述

很明显创建的库在普通终端里是无法看见的

在这里插入图片描述

给用户chz赋予rootDB数据库下所有文件的select权限

在这里插入图片描述

在这里插入图片描述

查看给chz的权限

语法:show grants for ‘用户名’@‘主机’;

在这里插入图片描述

2.回收权限

revoke 权限列表 on 库.对象名 from ‘用户名’@‘登陆位置’;

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_73790767/article/details/135473503
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。