MySql5.7版本的root密码登录问题

发现上一篇文章解决了mysql服务无法启动问题后,竟然用root用户无密码不能登录,5.7版本不能在初始化时用root无密码登录,找了很多帖子后,解决了问题。
原来在上一篇文章的mysqld –initialize方法生成的data文件里的.err文件里,可以用word打开,会有生成root的临时初始密码

这里写图片描述
打开之后找到密码:
这里写图片描述
但是坑爹的是这个密码用一次后就会过期不能使用了。下面我们就来改这个密码

  1. 先关闭mysql服务,net stop mysql
  2. 修改你的mysql的配置文件my.ini或者my-default.int,根据你自己的配置看修改哪个文件
  3. 在[mysqld]节点上加skip-grant-tables
    主要作用是:跳过表中的验证,可以无密码登陆。
  4. 开启mysql服务(net start mysql),用可视化客户端进入mysql,我使用的可视化的客户端mysqlFront,你们可以自己去百度找。
  5. 打开mysql下的user表,将password_expired字段的Y改成N;主要是改变密码是否有效的,有Y/N 两种,y表示失效,n表示有效,改完以后记得保存。
    这里写图片描述
  6. 停止mysql服务,将刚才ini文件里的skip-grant-tables删掉,重新开启服务
  7. 修改密码:mysqladmin -u root password root
    输入原密码,即修改成功。最后一个root是新密码
    这里写图片描述

  8. 密码修改成功可以登录了,mysql -uroot -p
    输入刚才设置的密码root就可以登录
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/cookysurongbin/article/details/51321372