这是一个很特殊的问题,在以下几种情况下,您可能需要修改现网用户的密码:
现在数据库密码被扫描,密码是一个弱密码
内网安全管理机制要求
需要阻止某些服务连接 MySQL
在8.0之前的版本中,修改MySQL密码已经明确的写入开发规范,禁止在线修改密码,因为该操作在8.0之前非常繁琐且不完善。
.0之前的解决方案:
1. 通过以下方式创建具有相同权限的帐户
show grants for ‘user_name'@’172.168.0.%';
获取原有权限后再创建新账户,可以添加_vX,例如:
create user 'user_name_v2'@'172.168.0.%' identified by 'new_password';
使用show for命令获取的授权语句对新用户进行授权。
2.确认新账号可以登录,权限OK
3.更新现有的网络应用配置并重启或刷新配置使配置生效
4.删除老用户:
mysql>drop user 'user_name'@'172.168.0.%';
通过一个变通办法,用新用户替代旧用户,从而满足修改用户密码的需求。但是这里还不够完美,用户名已经改了,如果还要用原来的用户名,感觉需要重新进行这个操作。
现在的好处是:
从MySQL 8.0.14版本开始,用户密码引入了新特性:一个用户可以同时拥有两个密码。
直接操作:
同样的账号,上面两个密码就可以登录成功。
运行后:alter user 'wubx'@'%' old;
原始密码:已过期。
此功能使 8.0.14 之后的 MySQL 版本的密码更改过程变得更加简单。
特别注意:要使用该功能的用户需要具备.0之后的新权限:。另外,还请注意以下几点:
声明当前密码的第二个密码,如果声明多次,最后一个密码生效,用户可以同时使用原密码和声明的新密码登录
不能在语句中指定空密码
指定后,如果使用alter user更改了原有的主密码,则声明的二级密码将不会改变。
若使用后更改认证方式,则声明的第二个密码将失效。
如果不用的话,使用alter user..old;不会删除原来的密码。
最后祝各位BOSS玩得开心。
关于“3306π”社区
我们专注于MySQL核心技术,把互联网行业最重要的数据解决方案带给传统行业;我们囊括了其他开源技术如Redis、Hbase、MySQL、Storm、Spark等;我们分享实用的知识,甚至要求赞助商也这么做,拒绝屈服。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。