MySQL-Benutzer-Hostnamen: 'localhost' vs. '%'
Bei der Strukturierung einer MySQL-Datenbank ist es oft notwendig, mehrere Benutzer mit zu erstellen unterschiedliche Zugriffsrechte. Eine häufige Debatte entsteht bei der Entscheidung, ob als Hostname für diese Benutzer „%“ oder „localhost“ angegeben werden soll. Diese Frage befasst sich mit dem Unterschied zwischen diesen beiden Hostnamen.
Problem:
Ein Entwickler besteht darauf, vier Benutzerkonten für zwei Benutzer (Appuser und Support) zu erstellen:
Die Frage hier ist, warum ein solches Setup notwendig ist, wenn man bedenkt, dass der „%“-Platzhalter scheinbar „localhost“ abdecken würde.
Antwort:
Die Der Hostname „localhost“ hat in MySQL eine besondere Bedeutung. Im Gegensatz zum „%“-Platzhalter, der für alle TCP/IP-Verbindungen gilt, bezieht sich „localhost“ ausschließlich auf Verbindungen, die über UNIX-Sockets (oder Named Pipes auf Windows-Systemen) hergestellt werden.
In MySQL ist das „%“- Platzhalter schließt localhost aus, sodass es notwendig ist, ihn explizit als separaten Hostnamen anzugeben. Dieses Setup ermöglicht eine differenzierte Kontrolle des Benutzerzugriffs über verschiedene Netzwerkschnittstellen. Durch die Angabe von „%“ und „localhost“ für jeden Benutzer wird Folgendes erreicht:
Das obige ist der detaillierte Inhalt vonWarum sowohl \'%\' als auch \'localhost\' verwenden, wenn Sie MySQL-Benutzer-Hostnamen definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!