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

React kapselt die globale Bullet-Box-Methode

In diesem Artikelbeispiel wird der spezifische Co...

So richten Sie ein Bereitstellungsprojekt unter einem Linux-System ein

1. Ändern Sie die Firewall-Einstellungen und öffn...

10 Tipps zur Website-Benutzerfreundlichkeit, die jeder kennen sollte

Lassen Sie uns keine weitere Zeit verschwenden un...

Detaillierte Erklärung zur Verwendung von JavaScript-Funktionen

Inhaltsverzeichnis 1. Deklarieren Sie eine Funkti...

So richten Sie einen URL-Link im Nginx-Server ein

Websites mit einer Architektur wie LNMP werden im...

Vue implementiert Chat-Schnittstelle

In diesem Artikelbeispiel wird der spezifische Co...

React-Internationalisierung react-i18next ausführliche Erklärung

Einführung react-i18next ist ein leistungsstarkes...

Linux Cron geplante Ausführung von PHP-Code mit Parametern

1. Verwenden Sie zur Ausführung weiterhin ein PHP...

Detaillierte Erklärung der verschiedenen Verwendungen von proxy_pass in nginx

Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...

Zusammenfassung der zwölf Methoden der Vue-Wertübertragung

Inhaltsverzeichnis 1. Vom Vater zum Sohn 2. Vom S...