早上好,
我在本地Windows 7 PC上编写了以下代码块,并尝试运行它.不幸的是,我收到了:
Connect Error (1045) Access denied for user 'dbuser'@'myhost(using password: YES)
我已为此数据库模式使用localhost和%授予dbuser插入,选择,更新和执行.我也可以从服务器上的命令行使用mysql -u dbuser -p.
这是代码块:
/* Set Variables */
$host="serveripaddress";
$db="dbname";
$username="dbuser";
$pass="pass";
/* Attempt to connect */
$mysqli=new mysqli($host,$username,$pass,$db);
if (mysqli_connect_error()){
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
echo 'Success... ' . $mysqli->host_info . "\n";
$mysqli->close();
}
?>
我很难理解上面的代码块是否引起了我的错误,或者是否需要在服务器上执行某些操作.谁能建议一些调查领域?
谢谢,
希德
解决方法:
确保如果您在MySQL中使用GRANT的主机名,则MySQL可以正确地将该主机名解析为您要连接的IP.
例如,如果您这样做
GRANT blah ON *.* to user@somehost
您必须记住,MySQL不会看到“ somehost”,它将看到一个IP地址.它必须进行反向查找才能获得主机名,并且如果IP没有反向映射或映射到完全不同的内容,MySQL将不会提供访问权限.
除非可以保证反向映射是稳定的,否则最好将IP地址用于MySQL中的远程访问帐户.
标签:mysql-error-1045,php,mysql
来源: https://codeday.me/bug/20191009/1878926.html