php - PDO无法连接远程mysql服务器

标签 php mysql pdo database-connection

服务器A(192.168.1.3)

mysql server(5.6.12) port 6603,socket/var/run/mysql/mysql.sock

php(5.5.0) php.ini pdo_mysql.default_socket =/var/run/mysql/mysql.sock

服务器B(192.168.1.4)

mysql server(5.5.11) 端口 3306,socket/var/run/mysql/mysql.sock

在服务器A工作时使用

$conn = new PDO('mysql:hostname=localhost;dbname=DB_TEST','username','password');

但使用时无法连接到服务器B

$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

ERROR:SQLSTATE[28000] [1045] Access denied for user 'username'@'localhost' (using password: YES)

继续努力

$conn = mysql_connect('192.168.1.4:3306', 'username', 'password');

最佳答案

$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

应该是

$conn = new PDO('mysql:host=192.168.1.4;dbname=DB_TEST;port=3306','username','password');

hostname 对于 dsn 无效,因此 PDO 忽略主机并使用默认值,即 localhost

关于php - PDO无法连接远程mysql服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17630772/

相关文章:

php - Paypal 形式的自定义 "Amount"

php - MySQL:避免选择具有相同用户 ID 的列

mysql查询来计算like运算符匹配每列的次数

php - 在 PDO 中使用 try 和 catch 的最佳方法是什么

php - PDO - 将 blob 图像插入 MySQL

php - 从 SQL 中检索条目的相似计数

php - PHP MYSQL 表的分页

php - Symfony2 双嵌套动态表单字段

mysql - 优化子查询选择每组最后一条记录

php - SQLSTATE[01002] Adaptive Server 连接失败(严重性 9)