Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户的MySQL访问被拒绝';管理员'@';本地主机';(使用密码:是)_Php_Mysql_Database_Plesk - Fatal编程技术网

Php 用户的MySQL访问被拒绝';管理员'@';本地主机';(使用密码:是)

Php 用户的MySQL访问被拒绝';管理员'@';本地主机';(使用密码:是),php,mysql,database,plesk,Php,Mysql,Database,Plesk,是的,我知道这是一个常见的问题。但我什么都试过了,却无法解决这个问题 所以我使用的是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 encr

是的,我知道这是一个常见的问题。但我什么都试过了,却无法解决这个问题

所以我使用的是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();
}
我得到以下信息:

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD 'NOT the plesk cleartext password'
显示的密码以星号(*)开头,后跟随机文本和数字。 我试图使用此密码访问,但根本无法识别


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

$mysqli=newmysqli(“localhost/ip地址”、“admin”、“实际密码”您输入的不是加密密码”、“数据库”)

$mysqli=newmysqli(“本地主机/ip地址”、“管理员”、“您输入的真实密码不是加密密码”、“数据库”)

mysql和任何其他合适的工具都不会以明文或加密格式存储您的密码。它会散列并销毁您作为密码输入的字符串,这样每当您输入正确的密码时,它都可以访问该字符串,而不可能从mysql本身恢复密码

你的格兰特命令没有问题,这就是它应该返回的

以下是一个简单的示例,而不是实际过程:

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

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

现在它已经有了明文密码,它将使用mysql自己的方法对其进行散列,比如删除字符、横向移动字符串、使用斐波那契序列添加ASCII值,或者程序员选择的任何其他方法

假设我的哈希方法是删除第一个和最后一个字符,然后在剩余字符的ASCII val中添加2

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

4567是我的哈希密码,因此show grants将显示:

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

而不是123456

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

你的格兰特命令没有问题,这就是它应该返回的

以下是一个简单的示例,而不是实际过程:

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

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

现在它已经有了明文密码,它将使用mysql自己的方法对其进行散列,比如删除字符、横向移动字符串、使用斐波那契序列添加ASCII值,或者程序员选择的任何其他方法

假设我的哈希方法是删除第一个和最后一个字符,然后在剩余字符的ASCII val中添加2

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

4567是我的哈希密码,因此show grants将显示:

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

而不是123456

show grants
中显示的密码是加密密码,不是实际密码。谢谢,我现在知道了,但它仍然不能解决我无法从php连接的问题。
show grants
中显示的密码是加密密码,不是实际密码。谢谢,我现在知道了,但是它仍然不能解决我无法从php连接的问题。很好的尝试,但是没有。当我从终端登录时,我还必须使用加密的密码。很好的尝试,但没有。当我从终端登录时,我还必须使用加密密码。谢谢你提供的信息,这解释了密码授予的显示,但我仍然无法使用3个密码(我自己的密码、plesk加密密码和mysql密码)中的任何一个从php脚本进入数据库,所以我认为这不是密码问题。哦,我以为你可以登录。顺便说一句,我总是使用明文密码。我该怎么做才能避免将此密码发送到github repo?好问题!我使用环境变量。我没有硬编码密码,而是使用类似$_ENV['MYSQL\u PASS']的东西,您可以使用export MYSQL\u PASS=yourpass运行脚本;phpYourscript.phpI从www文件夹中获取了带有密码的脚本。但是是的,我只是把密码直接放在脚本里。我想这应该不是个问题。谢谢你提供的信息,这解释了密码授予的显示,但是我仍然无法使用3个密码(我自己的密码、plesk加密密码和mysql密码)中的任何一个从php脚本进入数据库,所以我认为这不是密码问题。哦,我以为你可以登录。顺便说一句,我总是使用明文密码。我该怎么做才能避免将此密码发送到github repo?好问题!我使用环境变量。我没有硬编码密码,而是使用类似$_ENV['MYSQL\u PASS']的东西,您可以使用export MYSQL\u PASS=yourpass运行脚本;phpYourscript.phpI从www文件夹中获取了带有密码的脚本。但是是的,我只是把密码直接放在脚本里。我想这不应该是个问题。