【问题标题】:MySQL Access denied for user 'admin'@'localhost' (using password: YES)用户'admin'@'localhost'的MySQL访问被拒绝(使用密码:YES)
【发布时间】:2016-10-07 16:14:13
【问题描述】:

是的,我知道这是一个常见问题。但是我尝试了一切,但我无法解决这个问题。

所以我使用的是 plesk 12.5,我可以使用这个使用散列密码的脚本从终端登录 mysql:

MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -u admin

当我添加 -h localhost 时,我什至可以登录。 但是从 php 脚本登录时无法登录。

<?php
$mysqli = new mysqli("localhost/ip adress", "admin", "plesk encrypted password", "database");

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

我尝试过的:

  • 我尝试在mysql中更改密码
  • 我已经尝试更新mysql(它是最新的)
  • 我已尝试授予权限
  • 我尝试使用新的 SQL 用户获取访问权限
  • 我已经尝试输入我见过的所有不同的密码,所以我认为这不是密码问题(编辑)

编辑:感谢您的帖子,以下似乎与上述问题无关。

但毕竟有一件事情让我很烦恼: 当我在 mysql 中输入以下命令时:

show grants;

我得到以下信息:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD 'NOT the plesk cleartext password'

显示的密码以星号 (*) 开头,后跟随机文本和数字。 我尝试使用此密码进行访问,但根本无法识别。

我觉得这很奇怪,但我仍然找不到解决方案。

【问题讨论】:

  • show grants中显示的密码是加密密码,不是实际密码。
  • 谢谢,我现在明白了,但它仍然不能解决我无法从 php 连接的问题。

标签: php mysql database plesk


【解决方案1】:

$mysqli = new mysqli("localhost/ip address", "admin", "你输入的真实密码不是加密的", "database");

【讨论】:

  • 不错的尝试,但不行。从终端登录时,我还必须使用加密密码。
【解决方案2】:

mysql 和任何其他体面的工具都不会以明文或加密格式存储您的密码。它会散列并破坏您作为密码输入的字符串,因此每次您输入正确的密码时它都可以访问该字符串而没有机会从 mysql 本身恢复它。

您的授权命令没有问题,这就是它应该返回的内容。

这里是一个简单的例子,不是实际的过程:

我的密码是 123456 加密格式为abcdef

当我输入加密格式(abcdef)时,mysql然后将其转换为123456

现在它有了您的明文密码,它将使用 mysql 自己的方法对其进行哈希处理,例如删除一个字符或将字符串横向移动或使用斐波那契数列添加到 ASCII 值,或程序员选择执行的任何其他方法。

假设我的散列方法是删除第一个和最后一个字符,然后将 2 添加到剩余的 ASCII val

第 1 行:123456 第 2 行:2345 第 3 行:4567

4567 是我的哈希密码,所以会显示 show grants:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '4567'

而不是 123456

【讨论】:

  • 感谢您的信息,这解释了密码授权正在显示,但我仍然无法使用 3 个密码(我自己的密码,plesk 加密密码)中的任何一个从 php 脚本进入数据库和mysql密码),所以我认为不是密码问题。
  • 哦,我以为你可以登录了。我总是使用明文密码,顺便说一句。我该怎么做才能避免将此密码发送到 github 存储库?伟大的问题!我使用环境变量。我没有对密码进行硬编码,而是使用 $_ENV['MYSQL_PASS'] 之类的东西,您可以使用 export MYSQL_PASS=yourpass 运行脚本; php yourscript.php
  • 我从 www 文件夹中得到了带有密码的脚本。但是,是的,我只是将密码直接放在脚本中。我猜应该不是问题。
猜你喜欢
  • 2016-06-21
  • 2020-03-02
  • 2016-07-11
  • 2017-03-06
  • 2013-05-07
  • 2019-06-20
  • 2015-06-27
相关资源
最近更新 更多