大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql密码过期怎么解决
创新互联是一家集网站建设,建宁企业网站建设,建宁品牌网站建设,网站定制,建宁网站建设报价,网络营销,网络优化,建宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1,用mysql命令行登录mysql的root用户
2,重新修改root密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
mysql 5.7增加了两个字段password_last_changed、password_lifetime来完善安全策略。
上面的方法仅仅治标不治本。
可以设置参数default_password_lifetime来延长使用期限
注明mysql版本:V5.7.10
请使用root用户命令行登录(命令行登录不存在过期)。
登陆后直接输入 set password = password(‘123456’);
再次使用客户端访问,发现可用。
这种情况需要修改指定用户的password。
以root@% 为例 set password for 'root'@'%' = password('123456');
再次使用客户端访问,发现可用。
1、以下这种方式不能解决密码过期问题
update mysql.user set authentication_string=password('123456') where user='root' and Host = '%';
2、修改password_last_changed不能解决密码过期问题。
3、mysql早前的版本user表有password字段,5.7为authentication_string。
4、不需要重启mysql服务器。
5、提醒一下,root@localhost和root@%不是同一个用户。
查看用户信息的sql如下,方便读者复制:
select host,user,password_last_changed from mysql.user;
我们先来重新认识一下 mysql.user 表中关于密码过期的字段,
password_expired:从 MySQL 5.6.6 版本开始,添加了 password_expired 功能,它允许设置用户的过期时间。
password_last_changed:密码最后一次修改的时间。
password_lifetime:该用户密码的生存时间,默认值为 NULL,除非手动修改此用户密码过期机制,否则都是 NULL。
另外解释一个参数:
default_password_lifetime:从 MySQL 5.7.4 版本开始,此全局变量可以设置一个全局的自动密码过期策略。
1.设置密码永不过期
2.手动设置该用户密码为 30 day(它会自动覆盖密码过期的全局策略)
3.设置密码立马过期
1.设置全局密码过期时间:
2.创建用户:
注:很多人一看这个 password_lifetime 为什么没有变,不应该变成 90 吗,是不是 mysql 的 bug,其实不然。
它的工作方式如下:
有一个全局系统变量 default_password_lifetime,它为使用默认密码生存期的所有帐户指定策略。在系统表中这将存储一个 NULL。NULL 值被用作一个标志,表明所涉及的帐户没有每个用户密码的特殊生存期。通过 ALTER USER password EXPIRE NEVER(将列设置为0)或 ALTER USER password EXPIRE INTERVAL N DAY(将列设置为 N)设置每个用户的特殊密码生存期。
因此,没有设置特定密码生存期的所有用户的所有密码生存期都将跟随全局变量的值。