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
相关产品推荐
相关产品推荐

