So ändern Sie das Root-Passwort von MySQL unter Linux

So ändern Sie das Root-Passwort von MySQL unter Linux

Vorwort

Der Dienst wird seit mehreren Monaten auf MySQL bereitgestellt. Da ich meine Arbeit grundsätzlich im Terminal erledige, melde ich mich selten an. Heute wollte ich etwas ändern und plötzlich stellte ich fest, dass ich das MySQL-Passwort völlig vergessen hatte. Ich fand schließlich das Passwort der Geschäftsdatenbank im Code, aber das Root-Passwort wurde immer noch nicht gefunden und die Berechtigungen konnten nicht geändert werden. Also begann ich meine Reise durch Klettergruben. Ich schätze, ich werde in Zukunft wieder auf sie stoßen, also werde ich sie organisieren und aufzeichnen. Freunde in der Not, kommt vorbei und schaut vorbei.

Systemparameter

Server

 $ cat /proc/version
 Linux-Version 4.8.3-x86_64-linode76 (maker@build) (gcc-Version 4.7.2 (Debian 4.7.2-5)) #1 SMP Do., 20. Okt. 2016, 19:05:39 EDT
 $ lsb_release -a
 Es sind keine LSB-Module verfügbar.
 Distributor-ID: Ubuntu
 Beschreibung: Ubuntu 16.04.1 LTS
 Version: 16.04
 Codename: xenial

MySQL

 mysql> Variablen wie "%version%" anzeigen;
 +-------------------------+-------------------------+
 | Variablenname | Wert |
 +-------------------------+-------------------------+
 | innodb_version | 5.7.16 |
 | Protokollversion | 10 |
 | Slave-Typ-Konvertierungen | |
 | tls_version | TLSv1,TLSv1.1 |
 | Version | 5.7.16-0ubuntu0.16.04.1 |
 | Versionskommentar | (Ubuntu) |
 | Version_Kompilierungsmaschine | x86_64 |
 | version_compile_os | Linux |
 +-------------------------+-------------------------+

Lösung

Starten Sie MySQL im abgesicherten Modus, Sie können sich direkt als Root anmelden und anschließend das Passwort zurücksetzen. Hier sind die konkreten Schritte

Stoppen Sie den laufenden MySQL-Dienst:

 sudo-Dienst MySQL stoppen

Starten Sie MySQL im abgesicherten Modus:

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

Melden Sie sich direkt als Root an, kein Passwort erforderlich:

 mysql -u root

Passwort zurücksetzen:

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

MySQL beenden

 mysql > beenden

Starten Sie MySQL neu

 sudo service mysql neu starten

Passwort-Login:

 mysql -u root -p

Ausnahmebehandlung

Fehlermeldung bei Passwortänderung, ERROR 1054 (42S22)

Beim Ändern des Passworts werden Sie in vielen Dokumenten im Internet aufgefordert, zur Änderung folgenden Befehl einzugeben:

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

Daher tritt bei Verwendung dieses Befehls ein Fehler auf:

 FEHLER 1054 (42S22): Unbekannte Spalte „Passwort“ in „Feldliste“

Der Grund dafür ist, dass ab MySQL 5.7 das Passwortfeld durch authentication_string ersetzt wurde. Sie können den folgenden Befehl verwenden, um es zu ändern

 Benutzer aktualisieren, Authentifizierungszeichenfolge = Passwort (,Passwort‘) festlegen, wobei Benutzer = ,Root‘ ist;

Nach dem Ändern des Passworts schlägt die Anmeldung bei MySQL fehl und es wird FEHLER 2002 (HY000) angezeigt

Nach dem Ändern des Passworts und dem Neustart konnte ich mich nicht bei MySQL anmelden und es hieß

FEHLER 2002 (HY000): Verbindung zum lokalen MySQL-Server über Socket '/var/run/mysqld/mysqld.sock' nicht möglich (2)

Nach einiger Suche stellte ich fest, dass es daran lag, dass ich mehrere MySQL-Versionen installiert hatte. Das Problem kann gelöst werden, indem die folgenden Befehle nacheinander ausgeführt werden.

Sehen Sie sich das laufende MySQL an

 ps -A | grep mysql

Beenden Sie das laufende MySQL

 sudo pkill mysql

Sehen Sie sich den laufenden mysqld an

 ps -A|grep mysqld

Beenden Sie den laufenden mysqld

 sudo pkill mysqld

Starten Sie MySQL neu

 Dienst MySQL Neustart

Melden Sie sich bei MySQL an

 mysql -u root -p

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So ändern Sie das Root-Benutzerkennwort in MySQL 8.0.16, WinX64 und Linux
  • So setzen Sie das MySQL- oder MariaDB-Root-Passwort unter Linux zurück
  • So setzen Sie das MySQL-Root-Passwort in Linux (CentOS) zurück
  • Lösungen zum Vergessen des MySQL-Root-Passworts in der Linux-Umgebung (drei)
  • Setzen Sie das MySQL-Root-Passwort im Linux-System zurück
  • So ändern Sie das MySQL-Benutzerkennwort (Root) in Linux
  • Lösung für vergessenes Linux MySQL-Root-Passwort

<<:  Vue zeigt dynamisch den Wochentag an, der dem Datum entsprechend dem ausgewählten Monat entspricht

>>:  Beispielcode von layim zum Integrieren des Rechtsklickmenüs in JavaScript

Artikel empfehlen

Nginx: Ein Domänenname für den Zugriff auf mehrere Projekte – Methodenbeispiel

Hintergrund Kürzlich stieß ich bei der Bereitstel...

Einführung und Zusammenfassung der MySQL 8.0-Fensterfunktionen

Vorwort Vor MySQL 8.0 war es ziemlich mühsam, Dat...

Implementierungsschritte für die Paketierung und Optimierung von Vue-Projekten

Inhaltsverzeichnis Verpacken, Starten und Optimie...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

JavaScript implementiert eine Warteschlange mit doppeltem Ende

In diesem Artikelbeispiel wird der spezifische Co...

So kapseln Sie Timerkomponenten in Vue3

Hintergrund Wenn Sie auf manchen Webseiten von Ei...

Div in HTML ausblenden Tabelle ausblenden TABLE- oder DIV-Inhalt im CSS-Stil

Ich habe heute Abend ein Problem gelöst, das mich...

So führen Sie Befehle auf einem Remote-Linux-System über SSH aus

Manchmal müssen wir einige Befehle auf einem Remo...