我将phpMyAdmin用作XAMPP的一部分。当出现登录屏幕提示时,我可以在“用户名”文本字段中输入非root用户帐户,将“密码”文本字段保留为空,并能够登录该帐户。尽管事实上该用户帐户确实附加了密码。甚至更陌生,当我为用户帐户提供正确的密码时,出现以下两个错误并且无法登录:
#1045-用户'usernamehere'@'localhost'的访问被拒绝(使用 密码:是)
mysqli_real_connect():(HY000 / 1045):用户被拒绝访问 'usernamehere'@'localhost'(使用密码:是)
当我尝试通过phpi文件中的mysqli_connect()使用非root用户帐户登录时(无论是否提供密码),也会出现这些相同的错误。
答案 0 :(得分:1)
正如@Phil所说,您以匿名用户身份登录。连接时,所有三个用户名,密码和主机都必须匹配。也许您尝试连接的用户与您通过连接的用户具有不同的主机值。如果其中一个或多个(用户名,密码和主机)不匹配,您将收到错误消息或以匿名用户身份登录。
以匿名用户身份登录,并在主页上查找连接信息。在“数据库服务器”区域中,第一行告诉您如何连接(套接字类型表示您的主机为“ localhost”,TCP / IP网络可以为%或127.0.0.1,或实际的IP地址)。记下连接类型,然后注销并以root用户身份重新登录。然后编辑您创建的用户,并修改其主机值(或创建一个新用户)以匹配您要连接的主机。如果连接类型是套接字,请确保您的主机已定义为主机“ localhost”。如果连接是TCP / IP,则确切的IP地址或网络通配符%
将起作用(由于它是XAMPP,因此您很可能在同一台计算机上运行MySQL和Apache,因此使用127.0.0.1
是比使用通配符更安全,因为它只允许本地连接。
答案 1 :(得分:-1)