我的mysql版本如下:修改root密码过程如下:但是用修改后的密码登陆不上。
但用navicat查看如下:求大神解答

解决方案 »

  1.   

    update mysql.user set authentication_string=password('新密码');
    注意要带上password()
    authentication_string存的是哈希值,你直接把它更新成19820709,MySQL的理解是,新密码的哈希值是19820709,但真实的密码并不是这个数字串。
      

  2.   

    搞定了!
    密码不对进不去,在网上找来找去就那几个方法,说对也对,说不对也就是不完整。
    我的是5.7.24Windwos安装版,安装后它会自动创建Windows服务,如果自己停了服务,在命令窗口用mysqld进行操作,会死在那儿没反应,到安装目录下找my.ini,也找不到,自己建一个也不起作用。后来到服务里找对应的命令才发现这个安装版在C盘下的programdata隐藏文件夹下的相应目录下有my.ini。找到这个后用网上的skip-grant-tables方法就能进去,进去再修改密码,如楼上老兄如讲密码必须用函数password()生成,到此该问题解决。