mysql无法登陆,报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ,登陆不上
问题描述
在使用命令行登录 MySQL 时出现了下述问题:

出错原因
using password: NO:表示输入没有输入密码就尝试登陆了using password: YES:表示输入了密码,但密码错误
解决方案:修改密码
1.修改mysql配置文件my.cnf 。 在 [mysqld] 增加 skip-grant-tables 无密码进入mysql

这样我们就可以通过无密码 或乱输一个 进入到mysql。 通过select user,host from mysql.user; 查看 明明有权限 但登录不了。 直接重置密码就好了

2.密码设置为空 依次输入:
FLUSH PRIVILEGES; -- 删除原来用户 DROP USER 'root'@'localhost'; DROP USER 'root'@'%'; -- 新增用户并设置密码 CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123123'; CREATE USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123123'; -- 授权所有数据库 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
3.编辑配置文件 注销掉第一步增加的配置 skip-grant-tables 重启mysql

浙公网安备 33010602011771号