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

1.问题描述

  版本:【CentOS8】【MySQL5.7】

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

  和一些注意事项。

2.解决方法

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

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

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

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

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

    然后重启mysql:

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

  2) 在mysql中修改密码:

    直接输入mysql就可以登入:

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

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

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

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

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

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

3.注意事项

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

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

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

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

相关推荐