📜  无法访问 root phpmyadmin linux - SQL (1)

📅  最后修改于: 2023-12-03 15:40:08.417000             🧑  作者: Mango

无法访问root phpmyadmin linux - SQL

当您在Linux系统中安装完MySQL和phpmyadmin后,如果您无法通过root身份访问phpmyadmin,会出现以下问题:

  • 访问phpmyadmin时,出现错误:Access denied for user 'root'@'localhost' (using password: YES)
  • 访问phpmyadmin页面时,只有非root用户可用。

在本文中,我们将介绍如何解决上述问题。

原因

root用户访问phpmyadmin需要使用MySQL的root帐户,但默认情况下,Linux安装MySQL时并未设置MySQL root帐户密码。如果您使用了root帐户而没有设置密码,则会出现无法访问的问题。在Linux系统上,MySQL root帐户通常默认使用Unix套接字文件进行身份验证,而phpmyadmin在此过程中无法正确执行。

解决方案
  1. 设置MySQL root帐户密码

    mysqladmin -u root password NEWPASSWORD
    

    注意:请将NEWPASSWORD替换为您自己的密码。

  2. 以phpmyadmin管理员身份登录MySQL

    mysql -u root -p
    

    输入MySQL root帐户密码后,您将进入MySQL shell。

  3. 创建一个新用户

    CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'USERPASSWORD';
    

    注意:请将phpmyadminuserUSERPASSWORD替换为您自己的用户名和密码。

  4. 将新用户授权给phpmyadmin

    GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost';
    
  5. 刷新MySQL权限

    FLUSH PRIVILEGES;
    
  6. 禁用MySQL root帐户来访问phpmyadmin

    REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'root'@'localhost';
    
  7. 退出MySQL shell

    exit
    
  8. 重新启动MySQL服务

    systemctl restart mysql
    
  9. 重新登录phpmyadmin并使用新创建的用户身份登录

    访问http://localhost/phpmyadmin检查您是否可以通过新创建的用户进行访问。如果可以访问,这意味着已经成功解决了问题!

结论

通过按照上述步骤,您应该可以成功解决无法访问phpmyadmin的问题。尽管使用root用户访问phpmyadmin很方便,但是以安全为考虑,我们建议您在生产环境中使用非root用户身份访问phpmyadmin。