Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_connect (localhost / 127.0.0.1) langsam auf Windows-Plattform

PHP versucht, eine Verbindung zu localhost herzustellen. Da Ihr Computer über IPv6 mit Ihrem Netzwerk verbunden ist, versucht er zuerst die IPv6-Version von „localhost“, was eine IP-Adresse von ::1

ist

http://en.wikipedia.org/wiki/IPv6_address#Special_addresses

Es sieht so aus, als ob Ihr MySQL-Server nicht auf diese Adresse lauscht, sondern nur an eine IPv4-Adresse gebunden ist. Sobald PHP die Verbindung nicht öffnen kann, fällt es zurück und versucht, localhost über IPv4 alias 127.0.0.1

zu öffnen

Ich persönlich ziehe es vor, entweder IP-Adressen zu verwenden oder entweder die Windows-Hosts-Datei oder das Mac-Äquivalent zu verwenden, um "gefälschte" Domänennamen zu definieren, und diese dann zu verwenden, wenn ich eine Verbindung zu MySQL herstelle, die sich in IP-Adressen auflösen. So oder so kann ich genau wissen, ob eine IPv4- oder IPv6-Adresse verwendet wird.

Sowohl MySQL als auch Apache unterstützen IPv6, aber Sie müssen ihnen ausdrücklich sagen, dass sie eine IPv6-Adresse verwenden sollen. Für MySQL siehe:http://dev.mysql .com/doc/refman/5.5/en/ipv6-server-config.html

Für die Apache-Konfiguration siehe:http://httpd.apache.org/docs/2.2/ bind.html

Apache unterstützt mehrere IP-Adressen, sodass Sie beide gleichzeitig verwenden können – wenn die Netzwerkkarte im Computer sowohl eine IPv4- als auch eine IPv6-Adresse hat. MySQL unterstützt nur eine Adresse.