Ubuntu下sudo mysql登录MySQL报错ERROR 1045,求助解决方法
Ubuntu 下 MySQL root 用户登录失败(ERROR 1045)的解决步骤
停止 MySQL 服务
sudo systemctl stop mysql跳过权限验证启动 MySQL(添加
--skip-networking避免远程连接风险)sudo mysqld_safe --skip-grant-tables --skip-networking &直接无密码登录 MySQL
mysql切换到系统数据库并修改 root 用户的认证配置
- 进入 mysql 系统库:
USE mysql; - 更新 root 用户的密码与认证插件(将
your_new_password替换为你自定义的密码):UPDATE user SET authentication_string = PASSWORD('your_new_password'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost'; - 刷新权限使配置生效:
FLUSH PRIVILEGES;
- 进入 mysql 系统库:
退出并重启 MySQL 服务
- 退出 MySQL 命令行:
EXIT; - 关闭安全模式的 MySQL 进程:
sudo mysqladmin shutdown - 正常启动 MySQL 服务:
sudo systemctl start mysql
- 退出 MySQL 命令行:
测试登录
使用设置好的密码登录:mysql -u root -p输入你刚才设置的密码即可成功进入。
补充说明:Ubuntu 默认安装 MySQL 后,root 用户默认采用
auth_socket插件认证,原本执行sudo mysql可直接登录。出现报错大概率是安装过程中配置异常,通过上述步骤重置认证配置即可解决。
内容的提问来源于stack exchange,提问作者Sameera Satyanarayana
相关产品推荐
相关产品推荐

