此方法可解决以下两种报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决方法

1、进入 MySQL 安装目录,修改 MySQL 配置文件,在 [mysqld] 下添加 skip-grant-tables ,保存即可。

2、使用管理员身份打开命令行,输入如下命令,重启 MySQL。

net stop mysql
net start mysql

3、重启后,输入mysql -u root -p进行登录,在要求输入 MySQL 密码时,无需输入密码,直接按回车键。

4、输入如下命令,修改 MySQL 密码。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password' PASSWORD EXPIRE NEVER;

5、修改 MySQL 密码后,输入如下命令更新权限。

flush privileges;

6、进入 MySQL 安装目录,修改 MySQL 配置文件,在 [mysqld] 下删除 skip-grant-tables ,并保存。

7、使用管理员身份打开命令行,输入如下命令,重启 MySQL。

net stop mysql
net start mysql

8、重新启动后,即可正常登录。

注:此方法也可解决宝塔面板,数据库同步时的密码错误问题。