当用户在windows主机上连接godaddy数据库时被拒绝访问


Access denied for user when connecting to godaddy database on windows hosting?

我正在做简单的mysqli连接到我的数据库上Godaddy windows主机,我的代码如下:

<?php 
        error_reporting(E_ALL & ~(E_STRICT|E_NOTICE));
            $host = 'localhost'; 
            $user = 'root_user_name'; 
            $password = 'root_user_pass'; 
            $db = 'my_database'; 
            $cxn = mysqli_connect($host,$user,$password) or 
                     die(mysqli_connect_error()); // <<<<<< line 9
            mysqli_select_db($cxn, $db ) or die(mysqli_connect_error()); 

        die('test');

我确信授予的用户名和密码以及数据库名称,我所有的凭据都是正确的,虽然我得到这个错误:

警告:mysqli_connect(): (HY000/1045): Access denied for user'root_user_name'@'localhost'(使用密码:YES) inG: ' ' ' ' index . php文件用户'root_user_name'@'localhost'被拒绝访问密码:是的)

我得到了这个工作在本地主机相同的数据库名称和凭据使用wamp服务器,我不太进入IIS服务器和windows主机。

我曾经遇到过这个问题,并通过在连接数据库时设置主机中数据库服务器的真实IP地址来简单地解决了这个问题。要获得IP地址,登录到您的主机帐户并访问数据库,然后单击管理您想要的数据库,这将带您到phpMyAdmin。在右边有一个标题为Database Server的块,您可以在第一个列表项中找到服务器的IP地址。在$host中使用它而不是localhost:

 $host = '51.51.51.51'; // <<<< just a fake IP address for the example

我花了很多艰苦的时间来找出问题所在,我甚至联系了支持,得到了这样的答复:

Joshua -我认为权限是问题的原因。一旦你把它们适当地更新一下,问题就会消失。

他们说文件权限可能是问题所在,我更新了文件权限,但没有解决。

有时候解决方案比你想象的要近得多!!

新的MySQL数据库设置表单将接受混合大小写字符作为数据库名称/用户名,它将默默地将它们转换为小写。然后,phpMyAdmin登录是区分大小写的,所以你可能需要从控制中心复制并粘贴到phpMyAdmin,以确保你给它提供了正确的用户名。

这有点像在黑暗中捅刀子;但是你应该检查在mysql的用户表中定义的实际host。您的WAMP解决方案可能通过ipv4 (127.0.0.1)连接到本地主机;您当前的服务器使用ipv6 (::1)。用于连接的用户应该具有数据库服务器中定义的相同地址。检查这一点的简单方法是确保您的数据库中有3个具有这些凭据的用户,一个用于ipv4 (127.0.0.1),一个用于ipv6 (::1),一个基于主机名(例如。localhost)