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

Vue integriert Tencent Map zur Implementierung der API (mit DEMO)

Inhaltsverzeichnis Hintergrund zum Schreiben Proj...

Eine Frage zum Verständnis mehrerer Parameter des Sortierbefehls in Linux

Der Sortierbefehl wird sehr häufig verwendet, ver...

Grafisches Tutorial zur MySQL 5.7-Konfiguration ohne Installation

Mysql ist eine beliebte und einfach zu bedienende...

So mounten Sie die CD, um das RPM-Paket unter Linux zu finden

Vorne geschrieben Manchmal müssen Sie bei der Ver...

So installieren Sie das Programm setup.py unter Linux

Führen Sie zuerst den Befehl aus: [root@mini61 se...

Analyse der Methode zum Einrichten geplanter Aufgaben in MySQL

Dieser Artikel beschreibt anhand eines Beispiels,...

Beispiel für die Implementierung des Skelettbildschirms des WeChat-Applets

Inhaltsverzeichnis Was ist ein Skelettbildschirm?...

8 Tipps für Vue, die Sie nach dem Lesen lernen werden

1. Verwenden Sie immer :key in v-for Die Verwendu...

Eine detaillierte Einführung in die Grundlagen des Linux-Scriptings

Inhaltsverzeichnis 1. Skript-Vim-Umgebung 2. So d...

So verwenden Sie MQTT im Uniapp-Projekt

Inhaltsverzeichnis 1. Referenz-Plugins im Uniapp ...

Detaillierte Erläuterung der CSS BEM-Schreibstandards

BEM ist ein komponentenbasierter Ansatz zur Weben...

Detaillierte Erklärung der neuen Funktionen von ES9: Asynchrone Iteration

Inhaltsverzeichnis Asynchrones Durchlaufen Asynch...