Mysql 用户权限探究

阅读: 评论:0

Mysql 用户权限探究

Mysql 用户权限探究

背景

用户权限到底是怎样的?

写在前面
参考原文为.html
link

常用

有两种方式创建MySQL授权用户

1.执行create user/grant命令(推荐方式)

2.通过insert语句直接操作MySQL系统权限表

原文部分重要内容摘录
#创建finley 这只是创建用户并没有权限
mysql> CREATE USER 'finley'@'localhost' IDENTIFIED BY 'some_pass';# 把finley 变成管理员用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'finley'@'localhost' WITH
GRANT OPTION;#创建用户并赋予RELOAD,PROCESS权限 ,在所有的库和表上
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost' identified by '123456';# 创建keme用户,在test库,temp表, 上的id列只有select 权限
mysql> grant select(id) p to keme@'localhost' identified by '123456';

Process权限代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令

Reload权限代表允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新开启日志文件并刷新所有的表

回收权限

通过revoke命令收回用户权限
mysql> show grants for admin@'localhost';
mysql> select user,host from mysql.user;
mysql> revoke PROCESS ON *.* FROM admin@'localhost';

删除用户

通过执行drop user命令删除MySQL用户 
还可以通过系统权限表删除(不建议)
mysql> drop user admin@'localhost';

修改 mysql 用户密码

修改用户密码的方式包括:
mysql> ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('mypass');
mysql> GRANT USAGE ON *.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
shell> mysqladmin -u user_name -h host_name password "new_password"创建用户时指定密码(老版本)
mysql> CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';修改当前会话本身用户密码的方式包括:
mysql> ALTER USER USER() IDENTIFIED BY 'mypass';
mysql> SET PASSWORD = PASSWORD('mypass');

用户过期时间

设置系统参数default_password_lifetime作用于所有的用户账户default_password_lifetime=180 设置180天过期default_password_lifetime=0 设置密码不过期 (默认)
如果为每个用户设置了密码过期策略,则会覆盖上述系统参数ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER; 密码不过期
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE DEFAULT; 默认过期策略手动强制某个用户密码过期
ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE;

lock 用户

通过执行create user/alter user命令中带account lock/unlock子句设置用户的lock状态
# 创建的时候给用户锁定
mysql> create user abc2@localhost identified by 'mysql' account lock;
Create user语句默认的用户是unlock状态Alter user语句默认不会修改用户的lock/unlock状态
# 修改用户为unlock
mysql> alter user abc2@'localhost' account unlock;当客户端使用lock状态的用户登录MySQL时,会收到如此报错 
Access denied for user ‘user_name’@’host_name’. 
Account is locked.
官方文档:.7/en/privilege-system.html
原文:.html

link
link

本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删

本文发布于:2024-01-29 15:32:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170651358316271.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:Fe3O4
标签:用户权限   Mysql
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23