当我使用mysql_connect('remote_server','user','pass')时,它可以正常工作但是当我尝试以下操作时:
$db = new PDO('mysql:dbname=dbname;mysql:host=remote_server', 'user', 'pass');
它不起作用。我最初在Web服务器上安装了mysql-client。尝试PDO连接时,我收到此错误:
连接失败:SQLSTATE [HY000] [2002]无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)
所以我安装了mysql-server并改为输入以下错误:
连接失败:SQLSTATE [28000] [1045]用户'用户'@'localhost'拒绝访问(使用密码:是)
我假设这是因为PDO正在尝试连接到本地mysql服务器而不是远程服务器。我尝试使用本地凭据并将其连接,但这显然不是我想要的。如何使用PDO连接到SQL数据库来连接远程服务器?当我在DSN中指定远程服务器时,为什么要尝试使用user @ localhost?
答案 0 :(得分:-1)
代表OP发表:
无法相信我没有在DSN中发现错误。修正:)