使用root账户不能登陆phpmyadmin的解决方法

最近打算在树莓派搭建一个Web服务器放在我中国的家中。在轻车熟路安装了Apache2, PHP以及MySQL后,我发现没有要求我输入数据库root的密码。通过查资料知道可以通过空密码登陆然后修改root密码:

sudo mysql -u root

成功登录后是上边的样子。然后通过下边命令给root账户修改密码:

use mysql;
set password=PASSWORD(' your new password');
flush privileges;
exit;

命令成功执行后可以查看一下是否可以用新密码登陆:

sudo mysql -u root -p

这时候在命令行已经可以登陆,但是在phpmyadmin中输入正确的账号密码却会有如下的错误:

使用root账户死活登陆不上。可是我明明在另外的服务器可以成功登陆的。。。

通过查资料知道从MySQL 5.7开始安全策略被更改了,使用root登陆MySQL数据库,同时需要Linux也是root账户或者是sudo。而phpmyadmin默认的话是Apache的www-data账户,所以所权限不对。而刚才CLI测试的时候我们有加sudo,所以避开了这个问题。解决方法是最好新建一个账户,然后赋予所有数据库权限就可以了。

首先连接数据库,并打开mysql数据表:

sudo mysql --user=root mysql

然后添加一个新用户,并且赋予所有权限:

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这样用新用户就可以登陆phpmyadmin了。另外默认MySQL服务器只允许本机连接,可以通过修改配置文件改为全局。

 

Reference:

https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7

 

1 thought on “使用root账户不能登陆phpmyadmin的解决方法”

  1. Pingback: MySQL8 创建新用户 改密码 – 矛盾体

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.