📅  最后修改于: 2023-12-03 15:40:08.417000             🧑  作者: Mango
当您在Linux系统中安装完MySQL和phpmyadmin后,如果您无法通过root身份访问phpmyadmin,会出现以下问题:
Access denied for user 'root'@'localhost' (using password: YES)
在本文中,我们将介绍如何解决上述问题。
root用户访问phpmyadmin需要使用MySQL的root帐户,但默认情况下,Linux安装MySQL时并未设置MySQL root帐户密码。如果您使用了root帐户而没有设置密码,则会出现无法访问的问题。在Linux系统上,MySQL root帐户通常默认使用Unix套接字文件进行身份验证,而phpmyadmin在此过程中无法正确执行。
设置MySQL root帐户密码
mysqladmin -u root password NEWPASSWORD
注意:请将NEWPASSWORD
替换为您自己的密码。
以phpmyadmin管理员身份登录MySQL
mysql -u root -p
输入MySQL root帐户密码后,您将进入MySQL shell。
创建一个新用户
CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'USERPASSWORD';
注意:请将phpmyadminuser
和USERPASSWORD
替换为您自己的用户名和密码。
将新用户授权给phpmyadmin
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost';
刷新MySQL权限
FLUSH PRIVILEGES;
禁用MySQL root帐户来访问phpmyadmin
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'root'@'localhost';
退出MySQL shell
exit
重新启动MySQL服务
systemctl restart mysql
重新登录phpmyadmin并使用新创建的用户身份登录
访问http://localhost/phpmyadmin
检查您是否可以通过新创建的用户进行访问。如果可以访问,这意味着已经成功解决了问题!
通过按照上述步骤,您应该可以成功解决无法访问phpmyadmin的问题。尽管使用root用户访问phpmyadmin很方便,但是以安全为考虑,我们建议您在生产环境中使用非root用户身份访问phpmyadmin。