无法登录到mysql上的帐户
Posted
技术标签:
【中文标题】无法登录到mysql上的帐户【英文标题】:Cannot log in to account on mysql 【发布时间】:2019-03-10 01:52:18 【问题描述】:我正在尝试使用 php 和 PHPMyAdmin 登录,但我只能使用我的 root 帐户登录。其他帐户拥有什么权限并不重要,即使它拥有所有权限,我也无法登录。我正在使用 Apache24 作为 Web 服务器。
错误信息:
mysqli_real_connect(): (HY000/1045): Access denied for user 'noah'@'localhost' (using password: YES)
我尝试了很多可以在 Google 上找到的解决方案,但没有一个与我的情况相关,也没有帮助解决任何问题。
我没有编辑任何配置文件,除了我的 PHP 文件以包含其中的所有扩展。所以我那里也已经有了mysqli。
注意:我在同一屏幕上同时出现以下错误:PHP was built without openssl extension, can't send password encrypted
【问题讨论】:
更改密码。:)
那没用,我没那么笨。我也尝试了多个密码非常复杂的帐户。
这不是重复的,正如我所说的“我已经尝试了很多可以在 Google 上找到的解决方案,但没有一个与我的情况相关,它没有帮助解决任何问题。” ://
在您的情况下可能不会重复。你真的尝试过一切吗?赠款、流程等?它曾经奏效吗?
我真的告诉你,如果我现在打开它,它可能很快就会关闭。我会打开这个问题,看看你是否得到一些回应。
【参考方案1】:
请注意,如果您从您的计算机访问,则需要用户 'user'@'localhost',而从外部网络访问则需要用户 'user'@'%'
root默认启用了这两种访问,这可能是你的问题吗?
【讨论】:
当已经有本地主机时,我无法创建 %,反之亦然。 是的,你可以。您使用 '%' 主机创建 localhost 用户的副本。请问你的mysql版本是什么?你在使用 MariaDB 之类的东西吗? (没关系,但最好是安全的)【参考方案2】:如果您尝试在您的 php 应用程序中使用 root 凭据,它会起作用吗? 那么添加权限后,你记得运行'flushprivilege'吗?
您能否也发布一份 mysql users 表的副本,以便我们查看权限是如何分配的? (只需省略密码)
【讨论】:
对于 openssl 问题,请尝试为您的操作系统安装 openssl 软件包 一开始就没有安装过。我如何在 Windows 上执行此操作? 您使用的是 wamp 还是 xampp 还是 iis? 我正在使用 apache。我分别安装了 Apache、PHP 和 MySQL,没有使用 xxampp 之类的东西。 在 Windows 7、8 或 10 上?你也可以把你用来下载apache、mysql和php的下载链接发给我吗【参考方案3】:我也遇到了这个问题,在网上搜索了一整天,直到找到解决方案。要从 localhost 连接,您必须在 phpmyadmin 中创建新帐户时将计算机名称设置为 localhost
而不是 %
。因此,您将拥有 2 个名称相同但计算机名称不同的用户。
编辑:这是您应该拥有的图片。还要确保您是否要使用 config.inc.php 具有的密码保护
$cfg['Servers'][$i]['auth_type'] = 'cookie';
Image of phpMyAdmin
【讨论】:
当已经有本地主机时,我无法创建 %,反之亦然。 你应该可以看到我有它。【参考方案4】:你能尝试从命令行登录到机器上的MySQL吗(例如mysql -u -p)。 如果成功,请使用您的私有 IP 尝试使用 -h 选项。 了解它是否是 '%','localhost' 问题很重要。 Phpmyadmin 可能只使用指定用户的用户表中不存在的其中之一(% 或 localhost)。 另外请分享您的 mysql.users 表内容。
【讨论】:
以上是关于无法登录到mysql上的帐户的主要内容,如果未能解决你的问题,请参考以下文章
#1045 无法从 phpMyAdmin 和命令行登录到 MySql 服务器
Php登录问题(用户无法登录,用户可以使用其他密码访问自己的帐户)