Heim >Datenbank >MySQL-Tutorial >Warum gewährt MySQLs Wildcard-Host „%' nicht automatisch Fernzugriff?
Remotezugriff für MySQL-Benutzer
Beim Versuch, eine Remoteverbindung zu einer MySQL-Datenbank mit dem Benutzer user@'%' und dem herzustellen Passwort Passwort, die Verbindung schlägt trotz des Platzhalterzeichens % fehl, das den Zugriff von jedem Host aus angibt.
Grund für Fehler
Das Platzhalterzeichen % im Hostfeld eines MySQL-Benutzers gewährt nicht automatisch Fernzugriff. Um eine Remoteverbindung herzustellen, sind die folgenden Schritte erforderlich:
Binden Sie MySQL an die IP-Adresse der Maschine: Konfigurieren Sie MySQL so, dass Port 3306 an die IP-Adresse Ihrer Maschine in my.cnf gebunden wird (oder my.ini unter Windows) als folgt:
bind-address = xxx.xxx.xxx.xxx
Benutzer in Localhost und Wildcard erstellen: Erstellen Sie den Benutzer sowohl in Localhost als auch in % Wildcard-Hosts mit den folgenden Befehlen:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Berechtigungen erteilen: Vollständige Berechtigungen für alle gewähren Datenbanken für den Benutzer sowohl von localhost als auch von wildcard:
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%'; FLUSH PRIVILEGES;
Zusätzliche Überlegungen
Testen Sie die Remoteverbindung mit dem folgenden Befehl:
mysql -h <hostname> -u myuser -pmypass
Das obige ist der detaillierte Inhalt vonWarum gewährt MySQLs Wildcard-Host „%' nicht automatisch Fernzugriff?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!