【MySQL】:用户管理
2024-01-09 14:34:58
如果在以下操作中出现以下报错
可以使用刷新权限
一.用户
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!