mysqli :: mysqli (): (HY000 / 2002): Verbindung zum lokalen MySQL-Server über Socket 'MySQL' nicht möglich (2)
Ich erhalte diese Fehlermeldung, wenn ich versuche, eine Verbindung zur MySQL-Datenbank mithilfe der PHP-Klasse MySQL herzustellen. Verwenden Sie folgenden Code:
$db = new MySQLi("localhost","kamil","*****");
if (mysqli_connect_errno())
{
echo "An error occured. Please try again later.";
exit();
}
Passwort ist * für die Sicherheit.
Ich habe einen Benutzer angelegtkamil
mit allen Rechten an externer IP-Adresse und localhost. Wenn ich renne:select user,host from mysql.user
Diese beiden Benutzer werden ordnungsgemäß angezeigt.
Ich habe einige Nachforschungen angestellt und diesen Benchmark verwendet:https://stackoverflow.com/a/2183134/1839439 um zu sehen, was es verbindet. Wie sich herausstellt, kann nur eine Verbindung hergestellt werden127.0.0.1
und127.0.0.1:3306
das ist localhost aber wenn ich versorgelocalhost
es wirft diesen Fehler aus.
Meine Frage ist, warum es mir nur erlaubt, mit der IP-Adresse von localhost und nicht mit dem Namen oder der externen IP-Adresse eine Verbindung zur Datenbank herzustellen. Benötige ich einen anderen Host, wenn ich mysql auf der Website verwenden möchte oder wenn ich es verwenden kann?127.0.0.1
?
BEARBEITEN:hosts
Datei
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
Ergebnisse der MySQL-Benutzertabelle für diesen Benutzer:| kamil | 109.255.177.28 |
| kamil | localhost |