我有两台服务器(虚拟机 – 我可以远程连接到这些服务器) – 服务器1和服务器2.
在服务器1上,我保留了我的网页,在服务器2上,我保留了数据库.
我目前正在尝试从服务器1连接到服务器2上的数据库.
这是我的PHP代码:
$dbhost = 'xxx.xx.xx.xx:xxxx';
$dbuser = 'xxxxxx';
$dbpass = 'xxxxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql' . mysql_error());
$dbname = 'database';
mysql_select_db($dbname);
?>
这是我尝试连接时收到的错误消息:
Access denied for user 'xxxxxx'@'server1' (using password: YES)
我觉得有点令人费解的是它说@ server1考虑到我正在尝试连接到服务器2.任何人都可以提供任何见解吗?
谢谢
PS:他们都在2008年的Windows上
解决方法:
在确定是否授予访问权限时,MySQL会考虑连接客户端的主机名.可以允许给定用户名从托管数据库的同一台机器(即本地主机)登录,但在从远程系统使用时不允许连接.
在您的情况下,听起来用户’xxxxxx’无权从’server1’连接.您可以从所有主机(‘%’)授予用户’xxxxxx’登录权限.但是,将该帐户的登录权限限制为特定主机(‘server1’)或主机范围(‘%.mydomain.com’或’144.155.166.0/255.255.255.0’)将更安全要使用的.
标签:mysql-error-1045,php,mysql
来源: https://codeday.me/bug/20190723/1517966.html