You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu LAMP环境下MySQL 1045登录权限拒绝问题求助

解决Ubuntu LAMP环境下MySQL root用户登录Error 1045问题

问题原因

Ubuntu系统默认安装的MySQL中,root用户默认采用auth_socket插件认证,而非密码认证机制。这意味着只有通过sudo切换到系统root身份才能登录MySQL,直接执行mysql -u root -p会触发权限拒绝错误,mysql_secure_installation无法直接修正这种认证方式问题。

解决步骤

1. 跳过权限验证启动MySQL

  • 停止当前运行的MySQL服务:
    sudo systemctl stop mysql
    
  • 以跳过权限表校验的方式启动MySQL后台进程:
    sudo mysqld_safe --skip-grant-tables &
    
  • 此时无需密码即可登录MySQL:
    mysql -u root
    

2. 修改root用户认证方式并重置密码

  • 切换到MySQL系统核心数据库:
    USE mysql;
    
  • 根据你的MySQL版本执行对应命令(替换your_new_password为自定义密码):
    • MySQL 8.0及以上版本:
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
      
    • MySQL 5.7及以下版本:
      UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root' AND Host='localhost';
      
  • 刷新权限使配置生效:
    FLUSH PRIVILEGES;
    
  • 退出MySQL命令行:
    exit;
    

3. 恢复正常启动并验证登录

  • 停止临时启动的MySQL进程:
    sudo systemctl stop mysql
    
  • 正常启动MySQL服务:
    sudo systemctl start mysql
    
  • 使用新密码登录验证:
    mysql -u root -p
    
    输入设置的新密码后即可成功进入MySQL命令行。

内容的提问来源于stack exchange,提问作者darek_82

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:57:18