Lösen Sie das MySQL-Login-1045-Problem unter CentOS

Lösen Sie das MySQL-Login-1045-Problem unter CentOS

Da die gesamte Anwendung unter CentOS bereitgestellt werden muss, sind Datenbankoperationen natürlich unverzichtbar. Bei vielen Benutzern können jedoch Probleme auftreten. Beispielsweise kann es sein, dass ein Benutzer zwar erfolgreich erstellt wird, sich aber nicht anmelden kann.

Es gibt im Allgemeinen zwei Gründe, warum Sie sich nicht anmelden können. Erstens ist der Remote-Zugriffsport nicht geöffnet und der zweite Grund ist, dass das Kennwort falsch ist (es ist sehr seltsam, das Kennwort, mit dem wir uns angemeldet haben, ist offensichtlich richtig, aber es wird trotzdem die Meldung angezeigt, dass das Kennwort falsch ist. Ich weiß nicht, warum das so ist, es kann an der Verschlüsselung oder so etwas liegen).

Das Problem, dass der Remote-Access-Port nicht geöffnet wird, lässt sich relativ einfach lösen. Wenn Sie einen Cloud-Server verwenden, können Sie die Sicherheitsgruppe in der Konsole konfigurieren und den entsprechenden Port öffnen.

Lassen Sie mich über den zweiten Fehler sprechen, der schwieriger ist.

In der zweiten Situation wird häufig eine Fehlermeldung angezeigt: 1045 Zugriff für Benutzer „root“@„%“ verweigert (mit Kennwort: JA).

Den gesamten Ablauf habe ich grob aufgeschrieben. Mein Betriebssystem ist Centos 7.4 und die MySQL-Version ist 5.7.

Melden Sie sich zuerst bei MySQL an. Ich bin der Root-Benutzer. Der Login-Befehl lautet

mysql -u root -p

Nach Eingabe des Login-Passworts ändert sich das Fenster wie folgt:

Sehen wir uns zunächst an, welche Benutzer im System vorhanden sind und welche spezifischen Berechtigungen und Befehle sie haben:

Benutzer anzeigen:

SELECT DISTINCT CONCAT('Benutzer: ''',Benutzer,'''@''',Host,''';') AS Abfrage FROM mysql.user;

Zeigen Sie die Berechtigungen eines bestimmten Benutzers an:

show grants for 'root'@'%';

Das Fenster ändert sich wie folgt:

Als Nächstes werde ich einen Benutzer erstellen, damit dieser per Fernzugriff auf die Datenbank zugreifen und sie bedienen kann. Die spezifischen Befehle lauten wie folgt:

Erstellen Sie den Benutzer „zhangsan“, identifiziert durch „zhangsan.CQU.2020.lisi“.
Gewähren Sie alle Berechtigungen für *.* an zhangsan@'%', identifiziert durch 'zhangsan.CQU.2020.lisi';

Oder nur ein Befehl:

Gewähren Sie alle Berechtigungen für *.* an „zhangsan“@„%“, identifiziert durch „zhangsan.CQU.2020.lisi“, mit der Gewährungsoption.

Denken Sie nach Abschluss des Vorgangs daran, ihn zu aktualisieren, da er sonst möglicherweise nicht wirksam wird. Der Befehl lautet wie folgt

flush privileges;

Wenn Sie die Benutzer jetzt noch einmal überprüfen, werden Sie feststellen, dass es noch einen weiteren Benutzer gibt, und zwar den Benutzer, den wir gerade erstellt haben.

Geben Sie exit ein, um MySQL zu beenden, und versuchen Sie dann, sich mit dem Zhangsan-Konto anzumelden.

Das Problem wurde gelöst, aber ich kann mich einfach nicht anmelden. Lassen Sie uns als Nächstes dieses Problem lösen.

Suchen Sie zunächst nach Ihrer eigenen MySQL-Datei my.cnf. (Meine befindet sich im Ordner etc., verschiedene Personen haben möglicherweise unterschiedliche Dateien. Verwenden Sie einfach Linux-Befehle, um nach Bedingungen zu suchen.)

Öffnen Sie die Datei (vi my.cnf), wechseln Sie in den Bearbeitungsmodus (a), suchen Sie das Schlüsselwort mysqld, fügen Sie unter mysqld skip-grant-tables hinzu, speichern Sie und beenden Sie (zuerst esc, dann :wq), wie in der Abbildung gezeigt:

Entfernen Sie einfach die Kommentare.

Starten Sie dann MySQL mit dem folgenden Befehl neu:

service mysqld restart

Im nächsten Schritt melden Sie sich erneut an und ändern Ihr Passwort.

Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, drücken Sie einfach die Eingabetaste, um die Kennwortüberprüfung zu überspringen und sich erfolgreich anzumelden. Als nächstes rufen Sie die MySQL-Datenbank auf und ändern das Passwort. Der Befehl lautet wie folgt.

use mysql

So ändern Sie Ihr Passwort:

Benutzer aktualisieren, Authentication_String=Passwort("zhangsan.CQU.2020.lisi") festlegen, wobei Benutzer="zhangsan";

Wie in der Abbildung gezeigt:

Beenden Sie dann MySQL, ändern Sie die soeben geänderte Datei my.cnf zurück und starten Sie MySQL neu.

Sie können sehen, dass die Anmeldung erfolgreich war und die Remote-Verbindung auch erfolgreich sein kann, daher werde ich dies nicht demonstrieren. Wenn die Remote-Anmeldung immer noch nicht erfolgreich ist, überprüfen Sie die Porteinstellungen, um festzustellen, ob der Remote-Zugriff aktiviert ist.

Zusammenfassen

Das Obige ist die Einführung des Herausgebers zur Lösung des MySQL-Login-1045-Problems unter CentOS. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • MySQL-Passwort ist korrekt, aber keine lokale Anmeldung möglich -1045
  • Lösen Sie das Problem von FEHLER 1045 (28000): Zugriff verweigert für Benutzer ''root''@''localhost'' beim Anmelden nach der Installation von MySQL 5.7.17 auf Ubuntu 16.04
  • Nach der Installation von MySQL wird beim Anmelden die Eingabeaufforderung für das Root-Konto angezeigt. mysql ERROR 1045 (28000): Zugriff zur Verwendung verweigert Lösung
  • MySQL-Anmeldefehleraufforderung: Lösung für FEHLER 1045 (28000)
  • So lösen Sie das Problem ERROR 1045 beim Anmelden bei MySQL

<<:  Nginx-Dienst 500: Interner Serverfehler einer der Gründe

>>:  Vue implementiert eine Countdown-Schaltfläche für den Bestätigungscode

Artikel empfehlen

Einführung in HTML DOM_PowerNode Java Academy

Was ist DOM? Mit JavaScript können Sie das gesamt...

Tutorial zur Installation des Tomcat-Servers unter Windows

1 Herunterladen und vorbereiten Zuerst müssen wir...

Detaillierte Analyse des Flex-Layouts in CSS3

Das Flexbox-Layoutmodul soll eine effizientere Mö...

Vorgang zur Zeitzonenanpassung im Docker-Container

Wie kann ich überprüfen, ob die Zeitzone des Dock...

Miniprogramm zur Implementierung des Slider-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Vue.js Leistungsoptimierung N Tipps (es lohnt sich, sie zu sammeln)

Inhaltsverzeichnis Funktionskomponenten Aufteilun...

Beispielcode von Vue + Element UI zur Realisierung der Player-Funktion

Die Anzeige ohne Effektbild ist nur leeres Gerede...

Zusammenfassung der SQL-Deduplizierungsmethoden

Wenn wir SQL zum Extrahieren von Daten verwenden,...

Vue verwendet Mixins zur Optimierung von Komponenten

Inhaltsverzeichnis Mixins-Implementierung Zusamme...

Detaillierte Schritte zum Einrichten des Hosts Nginx + Docker WordPress Mysql

Umfeld Linux 3.10.0-693.el7.x86_64 Docker-Version...

Spezifische Verwendung des MySQL-Parameters binlog_ignore_db

Vorwort: Nach dem Studium des vorherigen Artikels...