我试图连接到这里提供的卸载的SQL服务器。 它说,我应该连接使用内部IP 172.16.0.51 。
我在我的VPS上安装了nginx和PHP(php5-fpm,php5-mysql)。 phpinfo()也适用。 但是,当我尝试连接到服务器时,出现以下错误。 我试图使用其外部IP连接到服务器,但我仍然得到相同的错误。
SQLSTATE[28000] [1045] Access denied for user 'myuser'@'AAA.BBB.CCC.DDD' (using password: YES)
AAA.BBB.CCC.DDD是我的VPS的IP,而不是服务器的IP。 这很奇怪,因为在连接服务器时我没有指定这个IP。
这里是我使用的PHP代码。
try { $dsn = 'mysql:host=172.16.0.51;dbname=myuser_mydatabase;charset=utf8'; $db = new PDO($dsn,'myuser','mypassword'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); } catch (PDOException $e) { echo 'PDO error: ' . $e->getMessage(); exit; }
我在这里做错了什么?
编辑:仅供参考,用户myuser是我注册卸载的SQL时给予的默认用户。 我查了一下,它已经把所有的资助都给了所有的数据库。 我还通过cPanel创build了一个新的数据库和用户,并授予适当的访问权限。 我仍然无法得到这个工作。 我犯了同样的错误。
EDIT2:我将我的vps的IP地址添加到cPanel允许的主机列表中,但是这也没有解决问题。
编辑3:请看我的答案。
那么,这是尴尬。 将我的VPS的IP添加到允许的主机列表后,我只是没有足够长的时间。 我会把这个留在这里,以防万一有人发现这个信息有用。