[英]PDO cannot connect remote mysql server
服務器 A(192.168.1.3)
mysql 服務器(5.6.12) 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');
錯誤:SQLSTATE[28000] [1045] 用戶 'username'@'localhost' 訪問被拒絕(使用密碼:是)
但繼續努力
$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
好的,我也有同樣的問題。 解決方案是之間的空間
mysql: host
--> 這個工作得很好!!!
這樣你就可以連接到遠程mysql
遠程 PDO mysql conex 上的問題出在 db 字符串上。 正確的說法是:
$conn = new PDO('mysql:host=192.168.1.4:3306;dbname=DB_TEST','username','password');
主機名無效,請改用主機。 正確的說法是:
$conn = new PDO('mysql:host=192.168.1.4:3306;dbname=DB_TEST','username','password');
我也遇到過類似的問題。 用戶名區分大小寫。 不要像我一樣白痴,花 15 分鍾對密碼、端口等進行故障排除...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.