So ändern Sie schnell das Hostattribut eines MySQL-Benutzers

So ändern Sie schnell das Hostattribut eines MySQL-Benutzers

Wenn Sie sich remote bei MySQL anmelden, gelten für das von Ihnen verwendete Konto besondere Anforderungen.

Das Standard-Hostattribut eines Kontos ist localhost, was bedeutet, dass dieses Konto nur lokal verwendet werden kann. Wenn Sie ein Konto für die Remote-Anmeldung verwenden möchten, müssen Sie den Hostattributwert des Kontos in % ändern.

Die ausgeführten SQL-Anweisungen lauten wie folgt:

Benutzer aktualisieren, Host festlegen = „%“, wobei Benutzer = „root“ ist;

Ergänzung: mysql root-Passwort ändern Konto ändern Login Host

1. Das Root-Passwort vergessen

Der Remote-Server hat einen MySQL-Dienst mit einem Hive-Konto gestartet. Ich kann mich über die Befehlszeile mit mysql -hlocalhost -uxxx -pxxx beim Remote-Server anmelden, aber ich kann mich nicht mit dem Navicat-Client anmelden, und Navicat zeigt immer noch die IP-Adresse meines eigenen Computers an.

Der erste Verdacht liegt darin, dass das Passwort des Accounts A in MySQL nicht richtig gesetzt ist. Daher müssen Sie das Root-Konto verwenden, um das Hive-Konto zurückzusetzen.

Das Ärgerliche ist, dass ich MySQL nicht installiert habe. Und ich weiß in der Testumgebung nicht, wen ich nach dem Passwort fragen soll. Dann greifen Sie zur ultimativen Waffe: Ändern Sie das Root-Passwort.

2. Setzen Sie das MySQL-Root-Passwort zurück.

Beachten Sie zunächst, dass es sich beim MySQL-Root-Konto und dem Server-Root-Konto um unterschiedliche Konzepte handelt. Verwechseln Sie diese daher nicht.

Stoppen Sie zunächst den MySQL-Dienst:

sudo-Dienst MySQL stoppen

Wenn Sie einen Root-Account auf dem Server haben, benötigen Sie sudo nicht. Dasselbe gilt für alle folgenden Operationen. Der obige Befehl funktioniert unter Ubuntu und Debian. Verwenden Sie mysqld statt mysql in CentOS, Fedora und RHEL. Gleiches gilt für alle folgenden Vorgänge.

Starten Sie dann MySQL im abgesicherten Modus:

sudo mysqld_safe --skip-grant-tables --skip-networking &

Auf diese Weise können wir uns direkt als root ohne Passwort anmelden:

mysql -u root

Auf diese Weise haben wir uns mit dem Root-Konto bei MySQL angemeldet.

Anschließend können Sie das Root-Passwort zurücksetzen:

mysql> mysql verwenden; 
mysql> Benutzer aktualisieren, Passwort festlegen=PASSWORT("meinneuesPasswort") wobei Benutzer='root'; 
mysql> Berechtigungen leeren;

Beenden Sie MySQL, nachdem das Zurücksetzen abgeschlossen ist. Starten Sie dann den MySQL-Dienst:

sudo service mysql neu starten

Melden Sie sich anschließend mit dem Root-Konto an:

mysql -u root -pmynewpassword

3. Ändern Sie die relevanten Berechtigungen von Konto A

Nachdem wir uns mit dem Root-Konto bei MySQL angemeldet haben, schauen wir uns die relevanten Informationen des Kontos A an:

mysql> mysql verwenden;
Datenbank geändert
mysql> wähle Benutzer, Host vom Benutzer, wobei Benutzer='Hive';
+------+--------------+
| Benutzer | Gastgeber |
+------+--------------+
| Bienenstock | 127.0.0.1 |
+------+--------------+

Jetzt verstehe ich. Verdammt, kein Wunder, dass ich mich nicht beim Navicat-Client anmelden kann. Der Host des Hive-Kontos ist nur 127.0.0.1, Sie können sich daher nur lokal anmelden.

mysql> Benutzer aktualisieren, Host='%' festlegen, wobei Benutzer='hive';

Richten Sie das Hive-Konto so ein, dass es von allen Computern aus zugänglich ist, und aktualisieren Sie dann die Berechtigungen:

mysql> Berechtigungen leeren;

Schauen wir uns das noch einmal an:

mysql> wähle Benutzer, Host vom Benutzer, wobei Benutzer='Hive';
+------+------+
| Benutzer | Gastgeber |
+------+------+
| Bienenstock | % |
+------+------+

Bis hierhin sind Sie fertig!

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Beinhaltet der %-Wert im neu erstellten MySQL-Benutzer localhost?
  • So erlauben Sie allen Hosts den Zugriff auf MySQL
  • Perfekte Lösung für das Problem, dass MySQL keine Verbindung zur Datenbank über localhost herstellen kann
  • Lösung für das Problem, dass MySQL eine Verbindung über den lokalen Host herstellen kann, jedoch keine Verbindung über IP herstellen kann
  • Eine kurze Diskussion über die Matching-Regeln von Host und Benutzer, wenn Mysql eine Verbindung zur Datenbank herstellt

<<:  Tutorial zur HTML-Tabellenauszeichnung (28): Farbattribut für Zellrahmen BORDERCOLOR

>>:  So installieren Sie OpenJDK in Docker und führen das JAR-Paket aus

Artikel empfehlen

Docker nginx implementiert einen Host zum Bereitstellen mehrerer Sites

Die virtuelle Maschine, die ich von einer bestimm...

Über Generika der C++ TpeScript-Reihe

Inhaltsverzeichnis 1. Vorlage 2. Generika 3. Gene...

Win10 Docker-Toolsbox-Tutorial zum Erstellen einer PHP-Entwicklungsumgebung

Bild herunterladen Docker-Pull MySQL:5.7 docker p...

Implementierung der Nummernschild-Eingabefunktion im WeChat-Applet

Inhaltsverzeichnis Vorwort Hintergrund Große Verm...

Einrichten von VMware vSphere in VMware Workstation (Grafisches Tutorial)

VMware vSphere ist die branchenführende und zuver...

Der Unterschied zwischen div und span in HTML (Gemeinsamkeiten und Unterschiede)

Gemeinsamkeiten: Das DIV-Tag und das SPAN-Tag beh...

MariaDB-Serverinstallation der MySQL-Reihe

Inhaltsverzeichnis Tutorial-Reihe 1. Installieren...

MySQL: Praktische Erfahrung mit der Verwendung der Insert-Anweisung

Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...

So umbrechen Sie das HTML-Titelattribut

Als ich vor ein paar Tagen ein Programm schrieb, w...

So installieren Sie Nginx in Docker

Installieren Sie Nginx auf Docker Nginx ist ein l...

Einige Schlussfolgerungen zur Gestaltung von Portal-Website-Fokusbildern

Fokusbilder sind eine Möglichkeit, Inhalte zu präs...