扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
注明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的用户密码一般一年就会过期一次。mysql的用户密码一般一年就会过期一次,如果记得这个规律,定期打开mysql表,mysql库----user表---password_last_changed,将此项的当时日期改成当天前两天的日期,每间隔几个月记得进来修改一下,就永远不会遭遇密码过期问题无法登录的bug烦恼。
近安装mySQL5.7.9,发现安装完后会自动生成一个随机密码,然后用sql工具登录,发现这个密码已经过期了,不能登录。
终于解决好了,这里分享下处理步骤:
1.先关闭mysql服务;
2.进入终端,输入指令:cd /usr/local/mysql/bin/,进入安装目录;
3.输入指令:sudo su,切换到root用户;
4.输入指令:./mysqld_safe --skip-grant-tables ,禁止mysql验证功能。此时mysql服务会自动重启了;
5. 用工具(比如Sequal Pro)登录mySQL。配置的时候,只配用户名为root,密码不配。
6. 登录进去以后,数据库选择mysql,修改user表下用户名为root的那条记录,将password_expired设为N。这样随机密码就有效了,可以用密码登录了。
如果希望修改root密码,则在登录mysql后,执行下面两条sql即可:
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
flush privileges;
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来延长使用期限
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流