在 ubuntu 上安装 phpmyadmin 后用户 'root'@'localhost' 的访问被拒绝
Posted
技术标签:
【中文标题】在 ubuntu 上安装 phpmyadmin 后用户 \'root\'@\'localhost\' 的访问被拒绝【英文标题】:Access denied for user 'root'@'localhost' after installing phpmyadmin on ubuntu在 ubuntu 上安装 phpmyadmin 后用户 'root'@'localhost' 的访问被拒绝 【发布时间】:2019-08-14 15:34:52 【问题描述】:我按照以下步骤在我的 ubuntu 服务器上安装了 phpmyadmin:
https://www.rosehosting.com/blog/install-phpmyadmin-on-ubuntu-16-04/
我按照以下步骤安装了 apache、php、mysql:
https://vijayasankarn.wordpress.com/2017/01/17/setting-lamp-stack-in-ubuntu-16-04-using-aws-ec2/
当我登录到http://myserver.com/phpmyadmin 时,我得到了这个错误:
mysqli_real_connect(): (HY000/1045): 拒绝用户访问 'root'@'localhost'(使用密码:YES)
我做错了什么?我错过了上面链接中没有的步骤吗?
我试过这个:
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
还有这个
mysql -u root -p
use mysql;
update user set plugin="" where user='root';
flush privilege;
【问题讨论】:
DELETE FROM user WHERE user='root'; GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'r00tp@ssw0rd'; GRANT ALL ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'r00tp@ssw0rd'; FLUSH PRIVILEGES;
尝试从终端调用:mysql_secure_installation
谢谢@num8er,您的第一个解决方案奏效了
【参考方案1】:
此错误可以修复,以下命令将重新配置您的 phpMyAdmin 凭据以获得对 MYSQL DB 的访问权限:
sudo dpkg-reconfigure phpmyadmin
/!\ 这将提供一些交互式菜单,允许您使用新凭据重新配置 phpMyAdmin 包 /!\
但您也可以手动重新配置:
1 - 以 root 身份登录 mysql
mysql -u root -p
2 - 确保 'phpmyadmin' 用户存在:
SELECT User FROM mysql.user;
3 - 切换到适当的 MYSQL 数据库:
use phpmyadmin;
4 - 为 phpmyadmin 用户设置新密码
UPDATE user SET password=PASSWORD('yourNewPassword') WHERE User='phpmyadmin';
【讨论】:
sudo dpkg-reconfigure phpmyadmin
为我工作并解决了access denied
错误【参考方案2】:
sudo mysql -u root -p
使用 mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User ='root';
刷新特权;
退出;
sudo systemctl 重启 mysql
【讨论】:
以上是关于在 ubuntu 上安装 phpmyadmin 后用户 'root'@'localhost' 的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 16.04 上安装 PHPMyAdmin
安装后在 ubuntu 16.04 中 phpMyAdmin 登录失败