连接到不同的机器, '无法通过套接字连接' 错误

问题描述:

我试图连接到不同的机器:连接到不同的机器, '无法通过套接字连接' 错误

$this->_connection = new PDO("mysql: host=MYSQL_SERVER; dbname=MYSQL_DATABASE",MYSQL_USER, MYSQL_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); 

但PDO barfs:

SQLSTATE [HY000] [ 2002]无法通过套接字“/var/lib/mysql/mysql.sock”(2)

连接到本地MySQL服务器僵硬,这工作得很好与本地主机我的dev的服务器上 - 我们的产品设置是LVS与单独的数据库服务器,但我似乎无法得到PDO连接到它!

哪里有我在这里捣乱了什么?

编辑

这工作:

mysql_connect(MYSQL_SERVER, MYSQL_USER, MYSQL_PASSWORD) or die(mysql_error()); 
mysql_select_db(MYSQL_DATABASE) or die(mysql_error());; 
echo 'Connected to database <br/>'; 

注意MYSQL_SERVER本地主机,它是我们的主数据库服务器的IP。在我们的dev服务器上,托管dev数据库的PDO完美地工作。

这很简单。你的DSN有缺陷。

使用此:

$this->_connection = new PDO("mysql:host=EXTERNAL_IP;dbname=DB", USERNAME, PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); 

试试吧,报到。

+0

请原谅我,如果我是密集的,但我不明白这是什么与我在我的问题中发布的 – 2010-09-03 01:08:32

+0

我相信后的空间;意义重大。 – 2010-09-03 01:13:27

+1

哇。非常感谢 - 在过去的48周里我已经睡了大约2个小时,你不知道我有多么欣赏这样一个简单的解决方案。 :):D – 2010-09-03 01:20:45