MySQL数据库连接不上、密码修改问题

  1.问题描述

    版本:【CentOS8】【MySQL5.7】

    问题:远程使用navicat连接不上数据库,后来试了在linux中都登不进去。根据提示应该是密码不对,此文主要介绍密码修改

    和一些注意事项。

  2.解决方法

    1)因为现在登不进去,所以没法修改密码,首先在linux中:

      

      在最下面加上一行skip-grant-tables:

      

      这行意思是跳过授权表,就是可以不用用户名密码登录。

      然后重启mysql:

      

    2) 在mysql中修改密码:

      直接输入mysql就可以登入:

      

      然后输入use mysql ,使用mysql这个数据库,再update user表的authentication_string字段:

      

      然后编辑一开始修改的/etc/my.cnf文件将skip-grant-tables删掉。

      最后重启数据库就可以了,已经可以用密码登陆了,远程也可以连接。

      

  3.注意事项

    1)我的数据库版本是5.7,所以密码对应的字段是authentication_string,老版本可能是password;

    2)字段set的值一定要是password("设置的密码"),一开始我就大意写成了="123456",结果是登不进去的。因为

    password("设置的密码")对密码进行了mysql5加密,在验证密码时mysql会对存储的密码值进行解密再验证,直接

    set成123456自然不会验证成功。

原文地址:https://www.cnblogs.com/advancedcz/p/13172413.html