我的 Windows 装了mysqld后,登录 MySQL 时就出现了报错提示:🤕

image-20210131233405989

MySQL Workbench等其他软件也一样无法登录进我的数据库….

根据网上文章,可能是装完 mysqld 后导致密码发生了更改。(好家伙,我的密码明明就没动过….

接下来就需要我们重置 自己设置的MySQL数据库密码了。

我所装的 MySQL 版本号是8.0,其方法的差别在于第二点的SQL语句,已做区分。

一、设置跳过 MySQL 密码认证

跳过密码认证,我们就能成功登陆 MySQL,然后利用SQL重新设置用户的密码。

首先,找到 my.ini 文件,默认路径一般如下:

Ctrl+F 搜索 [mysqld],然后再其下方添加该语句:

1
skip-grant-tables

保存后,在CMD命令行,重启MySQL:

1
2
net stop mysql
net start mysql

二、登陆数据库修改密码

通过 CMD 登陆MySQL:(不用输入密码,直接回车!)

1
mysql -u用户名 -p

接着,输入下列命令,以进入MySQL系统自带数据库mysql

1
2
USE mysql;
/* Database changed */

修改用户的密码:

注意,不同的MySQL版本,修改密码的语句或有差异!

  • 如果你的MySQL是5.7以下的版本:

    1
    UPDATE mysql.user SET Password=PASSWORD('新密码') where USER='用户名';
  • 如果你的MySQL是5.7版本:

    1
    UPDATE mysql.user SET authentication_string=PASSWORD('新密码') where USER='用户名';

    MySQL 8.0前修改密码的官网连接

  • 如果你的MySQL是8.0版本:

    重点来了!!MySQL 8.0后修改了修改密码的方式!之前一直输入上面两条语句疯狂报错

    1
    2
    ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    /*系统显示:Query OK, 0 rows affected (0.01 sec),表示成功!*/

    MySQL 8.0后修改密码的官网连接

接着刷新MySQL的系统权限相关表并退出。

1
2
FLUSH PRIVILEGES;
EXIT;

重新登录一波:

大功告成!!