图文实例解析MySQL的用户管理

图文实例解析MySQL的用户管理,第1张

图文实例解析MySQL的用户管理 本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于用户管理的相关内容,包括了新建用户、查看用户信息、重命名用户、删除用户等等内容,下面一起来看一下,希望对大家有帮助。

推荐学习:mysql视频教程

一、用户管理1.1 新建用户
create user '用户名'@'主机名' [identified by [password] '密码'];
  • 用户名就不用解释了,就是我们登录时使用的账号
  • 主机名指定我们创建的用户可以在哪些主机上登陆,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%来表示。
  • identified by译为通过…来进行验证,也就是密码,密码分为明文和密文,明文直接就是identified by 加上’密码’即可,密文则是identified by password ‘密码’,多了password关键字。
  • 若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;若省略“IDENTIFIED BY”部分,则用户的密码将为空。
  1. 明文创建用户

  2. 密文创建用户

1.2 查看用户信息

查看mysql库中的user表,强调一点,这个库只有root用户能查看,普通用户是没有权限查询这个库的。

如果我们想要让某一普通用户可以查看这个mysql库,需要使用grant进行授权。注意,授权工作也只能在root用户执行。


远程登陆,即从其他主机远程登录本机数据库

查看mysql.user表

1.3 重命名用户
rename user '旧用户名'@'旧主机名' to '新用户名'@'新主机名';


1.4 删除用户
drop user '用户名'@'主机名';

1.5 修改用户密码

1.修改当前的用户密码

set password = password('新密码')

2.修改其他用户密码

set password for '用户名'@'主机名' = password('新密码');普通用户是无法修改其他用户密码的


1.6 忘记密码怎么办
vim /etc/my.cnf   #修改mysql配置文件
[mysqld]
......
skip-grant-tables   #在mysqld模块下添加该配置
wq保存退出
systemctl restart mysqld   #重启mysql服务
mysql   #mysql直接登录
update mysql.user set authentication_string = password('新密码') where User='root';
flush privileges;
退出重新登陆
切记:修改完后一定将配置文件的skip-grant-tables注释或者删掉,不然再执行一次重启数据库,还是可以无密码登录,很危险





二、授权2.1 用户授权

grant,授权,通常用于root用户授予普通用户一些执行权限,比如select,insert,update。

grant 权限列表(select|insert|delete|drop|update等等)on 数据库名.表名(*表示所有) to '用户名'@'主机名' [identified by '密码'];
若授权的用户不存在,mysql会先创建一个用户,然后进行授权 *** 作

2.2 查看所授予的权限
show grants for '用户名'@'主机名';   #查看指定用户的权限show grants;   #查看当前用户权限

2.3 撤销权限
revoke 权限列表 on 库名.表名 from '用户名'@'主机名';   #从用户XXX撤销XX库.XX表的XX *** 作的权限

推荐学习:mysql视频教程

以上就是图文实例解析MySQL的用户管理的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1372149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-16
下一篇 2022-06-16

发表评论

登录后才能评论

评论列表(0条)

保存