服务器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/