Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource
Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource
Error: Can not connect to MySQL Server
服務器運行正常,PHP 代碼連接失敗。
將連接配置中的 host=localhost 改為 host=127.0.0.1 即可連接。
| 參數 | localhost | 127.0.0.1 |
|---|---|---|
| 協議 | Unix Socket (文件) | TCP/IP (網絡) |
| Socket 文件 | /tmp/mysql.sock 或 /var/lib/mysql/mysql.sock | 不使用 |
| 常見問題 | Socket 文件路徑不匹配、權限不足、文件丟失 | 繞過 Socket 層,直接走回環接口 |
| MySQL 權限表匹配 | 'user'@'localhost' | 'user'@'127.0.0.1' 或 'user'@'%' |
my.cnf 中 [mysqld] 和 [client] 的 socket 參數必須一致。SELECT host, user FROM mysql.user; 確認是否有 'user'@'localhost',或改授權 'user'@'127.0.0.1' / 'user'@'%'。my.cnf 添加 skip-name-resolve 禁用 DNS 反查,加速連接並避免解析失敗。host=127.0.0.1 最穩妥。127.0.0.1,避免 Socket 依賴。127.0.0.1 或容器名,Socket 掛載麻煩且易斷。