用户访问被拒绝';B00608239@localhost'@';SCMSERVER2.scm.net&


Access denied for user 'B00608239@localhost'@'SCMSERV2.scm.net' (using password: YES)

我正在努力完成大学的最后一个项目,但我在连接数据库时遇到了很多问题。当我尝试连接到mysql数据库时,它会给我以下错误:

拒绝用户"的访问B00XXXXXX@localhost'@'SCMSERVER2.scm.net'(使用密码:YES);

即使我的密码是正确的。

我一直在网上寻找答案,但我所尝试的一切都失败了。

这是我使用的连接代码

<?php //PHP 5 +
// database settings
$db_host = '193.xx.xxx.xxx';
$db_username = 'b00XXXXXX';
$db_password = 'XXXXXXXX';
$db_name = 'b00XXXXXX';
$mysqli=mysqli_connect($db_host,$db_username,$db_password);
if(!$mysqli) {
    echo '<h1>Connected to MySQL</h1>';
    //if connected then Select Database.
    $db=mysqli_select_db("b00XXXXXX",$mysqli);
}
else {
    echo '<h1>MySQL Server is not connected</h1>';
}

看起来您的主机详细信息有误。您的主机应该是其中一个

  • localhost(即在本地计算机上)
  • SCMSERVER2.scm.net(即在远程机器上,如数据库服务器)

然而,不可能两者兼而有之。

通常,一个好的检查是ping主机字符串-除非防火墙禁用了ping,否则它应该会回复(即使没有,至少你的ping程序应该能够查找DNS并显示IP地址)。

此外,您应该能够使用数据库客户端来检查正确的凭据:控制台上的MySQL Workbench(使用GUI)或mysql都可以。

这可能意味着主机名、用户名或密码不正确(尽管您可以确定),也可能意味着用户没有被授予执行所述命令的正确权限。

这里有一个上一个线程的堆栈溢出。

您还应该尝试在没有自己代码的情况下单独运行示例#1,以验证实现是否正确(修改为实际的主机名、用户名和密码):

http://php.net/manual/en/function.mysql-connect.php

根据您的错误,我怀疑您的主机名/用户名不正确,看起来您的用户设置为[username@hostname]错误代码应该是[username@hostname]不是[username@hostname1@主机名2]。

在大学里经常不允许访问外部数据库。这可能是原因。这是我在大学里的情况。