phpMyAdmin : 可以在不输入密码的情况下以非 root 用户身份登录,尽管该帐户有一个

Posted

技术标签:

【中文标题】phpMyAdmin : 可以在不输入密码的情况下以非 root 用户身份登录,尽管该帐户有一个【英文标题】:phpMyAdmin : Can login as non-root user without entering a password, despite the account having one 【发布时间】:2019-01-24 02:31:14 【问题描述】:

我使用 phpMyAdmin 作为 XAMPP 的一部分。当我收到登录屏幕提示时,我可以在“用户名”文本字段中输入非 root 用户帐户,将“密码”文本字段留空,然后就可以登录该帐户。尽管该用户帐户确实附加了密码,但仍会这样做。更奇怪的是,当我为用户帐户提供正确的密码时,出现以下两个错误并且无法登录:

#1045 - 用户 'usernamehere'@'localhost' 的访问被拒绝(使用 密码:是)

mysqli_real_connect(): (HY000/1045): 拒绝用户访问 'usernamehere'@'localhost'(使用密码:YES)

当我尝试通过 php 文件中的 mysqli_connect() 使用非 root 用户帐户登录时,也会出现这些相同的错误(无论我是否提供密码)。

【问题讨论】:

MySQL 帐户与本地计算机帐户是分开的。当您使用无密码、未知的帐户名时,您是以匿名用户身份登录 【参考方案1】: 转到 phpmyadmin/config.inc.php 并编辑此内容,希望对您有所帮助。 $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password']= '';

【讨论】:

【参考方案2】:

正如@Phil 所说,您以匿名用户身份登录。连接时,用户名、密码和主机三者都需要匹配。也许您尝试连接的用户与您连接的用户具有不同的主机值。如果其中一项或多项(用户名、密码和主机)不匹配,您将收到错误消息或以匿名用户身份登录。

以匿名用户身份登录并在主页上查看连接信息。在“数据库服务器”区域,第一行告诉您如何连接(套接字类型表示您的主机是 'localhost',TCP/IP 网络可以是 %,或 127.0.0.1,或实际 IP 地址)。记下连接类型,然后注销并以 root 用户身份重新登录。然后编辑您创建的用户,并修改他们的主机值(或创建新用户)以匹配您要连接的主机。如果连接类型是套接字,请确保您的主机是使用主机“localhost”定义的。如果连接是 TCP/IP,那么确切的 IP 地址或网络通配符 % 将起作用(因为它是 XAMPP,你很可能在同一台机器上运行 MySQL 和 Apache,所以使用 127.0.0.1 比使用更安全通配符,因为它只允许本地连接)。

【讨论】:

以上是关于phpMyAdmin : 可以在不输入密码的情况下以非 root 用户身份登录,尽管该帐户有一个的主要内容,如果未能解决你的问题,请参考以下文章

如何在不影响 phpMyAdmin 的情况下从 mysql 中巧妙地删除 pma 表

/etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令

如何在不知道 $row 像 phpmyadmin 的情况下将 mysql 表数据输出到 html 表中

在不询问用户名和密码的情况下验证 Active Directory 用户

如何停止 xampp 用户所需的身份验证

当我在不输入用户名和密码的情况下按下登录按钮时,浏览器的左上角会显示类似“无效信息”的消息 [关闭]