连接到 windows 主机上的 godaddy 数据库时用户访问被拒绝?
Access denied for user when connecting to godaddy database on windows hosting?
我在 Godaddy windows 主机上与我的数据库建立简单的 mysqli
连接,我的代码如下:
<?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');
我确定授予的用户名和密码以及数据库名称,我的所有凭据都是正确的,但我收到此错误:
Warning: mysqli_connect(): (HY000/1045): Access denied for user
'root_user_name'@'localhost' (using password: YES) in
G:\path\to\file\index.php
on line 9 Access denied for user 'root_user_name'@'localhost' (using
password: YES)
我使用 wamp 服务器在具有相同数据库名称和凭据的本地主机上工作,我不太喜欢 IIS 服务器和 windows 托管。任何帮助将不胜感激。
有点摸不着头脑;但您应该检查 mysql 的用户 table 中定义的实际 host
。您的 WAMP 解决方案可能通过 ipv4 (127.0.0.1
) 连接到本地主机;并且您当前的服务器使用 ipv6 (::1
)。您用于连接的用户应该具有在数据库服务器中定义的相同地址。检查这一点的简单方法是确保您的数据库中有 3 个用户具有这些凭据,一个用于 ipv4(127.0.0.1
),一个用于 ipv6(::1
),一个基于主机名(例如 localhost
)
新的 MySQL 数据库设置表单将接受混合大小写字符作为数据库 name/username,它会自动将它们转换为小写字母。 phpMyAdmin 登录是区分大小写的,因此您可能需要从控制中心复制并粘贴到 phpMyAdmin 以确保您输入正确的用户名。
我曾经遇到过这个问题,在连接数据库时,通过在我的主机中设置数据库服务器的真实IP地址简单地解决了这个问题。要获取 IP 地址,请登录您的主机帐户并访问数据库,然后单击管理您想要的数据库,这将带您进入 phpMyAdmin。右侧有一个标题为 Database Server 的块,您可以在第一个列表项中找到服务器 IP 地址。在您的 $host
而不是 localhost 中使用它:
$host = '51.51.51.51'; // <<<< just a fake IP address for the example
我花了很长时间才找出问题所在,我什至联系了支持人员并得到了回复:
Joshua - I think the permissions are the cause of the issue. Once you
have them properly updated, the problem should go away.
他们说文件权限可能是问题,我更新了文件权限但没有解决。
有时解决方案比您想象的更接近!!
我在 Godaddy windows 主机上与我的数据库建立简单的 mysqli
连接,我的代码如下:
<?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');
我确定授予的用户名和密码以及数据库名称,我的所有凭据都是正确的,但我收到此错误:
Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root_user_name'@'localhost' (using password: YES) in G:\path\to\file\index.php on line 9 Access denied for user 'root_user_name'@'localhost' (using password: YES)
我使用 wamp 服务器在具有相同数据库名称和凭据的本地主机上工作,我不太喜欢 IIS 服务器和 windows 托管。任何帮助将不胜感激。
有点摸不着头脑;但您应该检查 mysql 的用户 table 中定义的实际 host
。您的 WAMP 解决方案可能通过 ipv4 (127.0.0.1
) 连接到本地主机;并且您当前的服务器使用 ipv6 (::1
)。您用于连接的用户应该具有在数据库服务器中定义的相同地址。检查这一点的简单方法是确保您的数据库中有 3 个用户具有这些凭据,一个用于 ipv4(127.0.0.1
),一个用于 ipv6(::1
),一个基于主机名(例如 localhost
)
新的 MySQL 数据库设置表单将接受混合大小写字符作为数据库 name/username,它会自动将它们转换为小写字母。 phpMyAdmin 登录是区分大小写的,因此您可能需要从控制中心复制并粘贴到 phpMyAdmin 以确保您输入正确的用户名。
我曾经遇到过这个问题,在连接数据库时,通过在我的主机中设置数据库服务器的真实IP地址简单地解决了这个问题。要获取 IP 地址,请登录您的主机帐户并访问数据库,然后单击管理您想要的数据库,这将带您进入 phpMyAdmin。右侧有一个标题为 Database Server 的块,您可以在第一个列表项中找到服务器 IP 地址。在您的 $host
而不是 localhost 中使用它:
$host = '51.51.51.51'; // <<<< just a fake IP address for the example
我花了很长时间才找出问题所在,我什至联系了支持人员并得到了回复:
Joshua - I think the permissions are the cause of the issue. Once you have them properly updated, the problem should go away.
他们说文件权限可能是问题,我更新了文件权限但没有解决。
有时解决方案比您想象的更接近!!