Ursachenanalyse:
Host „Lokal“ darf keine Verbindung zu diesem MySQL-Server herstellen. Typisches Problem mit Remote-Berechtigungen.
Der Kern des Problems:
MySQL erlaubt keine Remote-Anmeldeberechtigungen. Es hängt davon ab, welche Art von System Ihr Server verwendet, ob es Linux oder Windows ist. Die Lösung ist unterschiedlich. Sie können online suchen und es gibt viele Informationen zur Lösung des Problems.
Lösung:
Es gibt zwei Hauptschritte zum Öffnen eines MySQL-Remote-Login-Kontos:
1. Stellen Sie sicher, dass die Firewall auf dem Server Port 3306 nicht blockiert.
Der Standardport von MySQL ist 3306. Sie müssen sicherstellen, dass die Firewall Port 3306 nicht blockiert, da Sie sonst über Port 3306 keine Remoteverbindung zu MySQL herstellen können.
Wenn Sie bei der Installation von MySQL einen anderen Port angegeben haben, öffnen Sie bitte die Portnummer, die Sie für MySQL angegeben haben, in der Firewall.
Wenn Sie nicht wissen, wie Sie die Firewall auf Ihrem Server einrichten, wenden Sie sich bitte an Ihren Serveradministrator.
2. Fügen Sie die Möglichkeit hinzu, Remote-Verbindungen für MySQL-Benutzer zuzulassen und diese zu autorisieren.
1) Melden Sie sich zunächst mit dem Root-Konto bei MySQL an
Klicken Sie auf dem Windows-Host auf das Startmenü, führen Sie es aus, geben Sie „cmd“ ein, rufen Sie die Konsole auf, geben Sie das MySQL-Bin-Verzeichnis ein und geben Sie den folgenden Befehl ein.
Geben Sie an der Eingabeaufforderung auf dem Linux-Host den folgenden Befehl ein.
Kopieren Sie den Codecode wie folgt:
> MySQL -uroot -p123456
123456 ist das Passwort des Root-Benutzers.
2) Erstellen Sie einen Remote-Login-Benutzer und autorisieren Sie ihn
Kopieren Sie den Codecode wie folgt:
> alle PRIVILEGES auf discuz.* an ted@'123.123.123.123' gewähren, identifiziert durch '123456';
Die obige Anweisung gibt an, dass dem Benutzer TED alle Berechtigungen der Discuz-Datenbank gewährt werden, dass der Benutzer TED sich remote unter der IP-Adresse 123.123.123.123 anmelden darf und dass das Kennwort des Benutzers TED auf 123456 festgelegt ist.
Lassen Sie uns alle Parameter einzeln analysieren:
Alle PRIVILEGEN bedeuten die Gewährung aller Berechtigungen für den angegebenen Benutzer. Sie können auch durch die Gewährung einer bestimmten Berechtigung ersetzt werden, z. B.: Auswählen, Einfügen, Aktualisieren, Löschen, Erstellen, Löschen usw. Die spezifischen Berechtigungen werden durch "," halbiert. Breite Kommas.
discuz.* gibt an, für welche Tabelle sich die oben genannten Berechtigungen auf die Datenbank beziehen, und das folgende * gibt für alle Tabellen an. Daraus lässt sich schließen, dass die Berechtigung für alle Tabellen in allen Datenbanken „*.*“ ist Tabellen in allen Datenbanken, die Berechtigung für alle Tabellen in einer bestimmten Datenbank ist „Datenbankname.*“, und die Berechtigung für eine bestimmte Tabelle in einer bestimmten Datenbank ist „Datenbankname.Tabellenname“. .
ted gibt an, welchen Benutzer Sie autorisieren möchten. Dieser Benutzer kann ein vorhandener oder ein nicht vorhandener Benutzer sein.
123.123.123.123 gibt die IP-Adresse an, die Remote-Verbindungen zulässt. Wenn Sie die IP-Adresse der Verbindung nicht einschränken möchten, setzen Sie sie einfach auf „%“.
123456 ist das Passwort des Benutzers.
Führen Sie nach der Ausführung der obigen Anweisung die folgende Anweisung aus, damit sie sofort wirksam wird.
Kopieren Sie den Codecode wie folgt:
>Flush-Privilegien;