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

Ubuntu系统下无法以root用户登录phpMyAdmin求助

解决Ubuntu下phpMyAdmin root空密码登录#1045错误的方法

别担心,这个问题我碰到过好多次!Ubuntu系统里的MySQL/MariaDB默认对root用户采用socket认证(而非密码认证),所以哪怕你输入空密码,也会被拒绝访问。下面是一步步的解决步骤:

  • 首先,通过系统权限直接登录MySQL/MariaDB的root账户:
    打开终端,执行命令:

    sudo mysql -u root
    

    这个命令不需要输入密码,就能直接进入MySQL命令行界面。

  • 查看当前root用户的认证方式:
    在MySQL命令行里执行:

    SELECT user, authentication_string, plugin FROM mysql.user;
    

    你会看到root@localhost对应的plugin字段是auth_socket,这就是问题的根源。

  • 修改root用户的认证方式为密码认证(支持空密码):
    执行下面的SQL语句,把认证方式改成mysql_native_password,同时设置空密码:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
    

    注意:如果你的MySQL版本较新,可能默认不允许空密码,这时候可以先设置一个临时密码(比如123456),后续再根据需求调整,命令改成:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    
  • 刷新权限,让修改生效:

    FLUSH PRIVILEGES;
    
  • 退出MySQL命令行:

    exit;
    
  • 测试MySQL登录:
    执行mysql -u root -p,如果是空密码就直接回车,设了密码就输入对应的密码,能成功登录就说明修改有效了。

  • 最后打开phpMyAdmin,用root和对应的密码(空密码就留空)登录,应该就能正常访问了。

额外注意事项

如果修改后phpMyAdmin还是报错,可以检查一下phpMyAdmin的配置文件/etc/phpmyadmin/config.inc.php:

  • 确保$cfg['Servers'][$i]['auth_type']的值是cookie或者http(不要设为config,除非你在配置里填对了用户名密码);
  • 确认$cfg['Servers'][$i]['user']和$cfg['Servers'][$i]['password']的设置和你刚才修改的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:45:42