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      |

Antworten auf die Frage(4)

Ihre Antwort auf die Frage