Ubuntu 22.04 下 MySQL 8 root 用户控制台登录失败(phpMyAdmin 可正常登录)的问题求助及疑问
Ubuntu 22.04 下 MySQL 8 root 用户控制台登录失败(phpMyAdmin 可正常登录)的问题求助及疑问
各位大佬,我快被逼疯了!这两天一直在和MySQL 8的登录错误死磕,就是这个:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
网上能找到的相关问题少说有上百个,试了各种办法都没用——卸载重装MySQL 8不下十次,换MySQL 5.7也踩了坑,最后还是回到MySQL 8这边。
现在诡异的情况是:我能用root账号加密码正常登录phpMyAdmin,但在Putty/控制台里死活登不进去。服务器是Ubuntu 22.04,MySQL是最新版,服务也是正常运行的。
目前我唯一能获取控制台权限的方法就是在mysqld.cnf里加一行:
[mysqld] skip-grant-tables
但不管是改root密码还是新建用户,去掉这行之后还是会弹出同样的错误。我试过用默认的配置文件,也试过把旧VPS上MySQL 5.7能用的配置搬过来,全都没用,感觉这就是个死胡同!
关于绑定地址,我试过好几种配置,结果都没变化:
- 默认的
bind-address = 127.0.0.1、mysqlx-bind-address = 127.0.0.1 - 改成
0.0.0.0 - 改成服务器公网IP
我跟着LAMP教程装了好几次,每次都卡在这里。下面是我试过的主要方法:
- 用
sudo mysql -u root登录(以前用5.7的时候这招百试百灵) - 开
skip-grant-tables模式重置密码 - 在安全模式下执行:
UPDATE mysql.user SET plugin='unix_socket' WHERE user='root'; FLUSH PRIVILEGES;
结果又报错说unix_socket插件没加载,相关的解决方案也不管用
- 试了
mysql -u root -p -f,还是失败 - 卸载重装了N次,跟着不同的教程(包括MariaDB的,但我不想换,怕以后迁站出问题)
- 之前把Ubuntu从18.04升级到22.04,MySQL从5.7升级后也出现同样的问题,最后只能恢复备份——毕竟5.7每次装都能正常用
刚才我跟着一个视频教程操作,终于能在控制台用root加密码登录了,phpMyAdmin也能正常用。但视频里最后居然用ALTER命令把root的验证方式改回socket了?我现在正备份服务器,纠结要不要跟着改回去,有没有大佬能告诉我这是为啥啊?
真的快崩溃了,求各位给点建议!
备注:内容来源于stack exchange,提问作者Hawk007
相关产品推荐
相关产品推荐

