CentOS6.9下MySQL5.6 root用户ERROR1045访问拒绝问题求助
解决CentOS6.9下MySQL5.6 root登录失败问题
步骤1:重新进入跳过授权表模式
- 停止当前MySQL服务:
service mysqld stop - 启动服务并跳过授权表+禁止网络连接(避免外部干扰):
service mysqld start --skip-grant-tables --skip-networking - 无密码连接MySQL:
mysql -u root
步骤2:检查并更新所有root用户密码
- 查看所有root用户的主机绑定、密码状态:
你会发现多个root条目(比如SELECT User, Host, Password FROM mysql.user WHERE User='root';localhost、127.0.0.1、::1或服务器主机名),之前的操作大概率只修改了其中一个条目,导致登录时匹配到未更新的条目。 - 更新所有root用户的密码(替换
YourStrongPassword123!为符合强度要求的密码):UPDATE mysql.user SET Password=PASSWORD('YourStrongPassword123!') WHERE User='root'; - (可选)若密码插件异常,设置为原生密码插件:
UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root'; - 刷新权限使修改生效:
FLUSH PRIVILEGES;
步骤3:验证登录并重启服务
- 打开新终端,用新密码测试登录:
输入设置的密码,成功进入则说明修改有效。mysql -u root -p - 回到原MySQL客户端,退出:
\q - 重启MySQL服务:
service mysqld restart
后续升级MySQL8.x注意事项
- 确保MySQL5.6正常运行,提前用
mysqldump完成全量数据备份 - CentOS6.9需先替换为MySQL官方YUM仓库的8.x源,按停止5.6服务→安装8.x包→执行
mysql_upgrade的顺序完成升级
内容的提问来源于stack exchange,提问作者maash baash
相关产品推荐
相关产品推荐

