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

Zusammenfassung der Tipps zur CSS-Verwendung

Vor Kurzem habe ich mit der Aktualisierung meines ...

Netzwerkkonfiguration des Host Only+NAT-Modus unter VirtualBox

Die Netzwerkkonfiguration des Host Only+NAT-Modus...

9 superpraktische CSS-Tipps, die Designern und Entwicklern helfen

Im Kopf eines Webdesigners muss viel Wissen im Zus...

Tutorial zum Konfigurieren und Verwenden des i3-Fenstermanagers unter Linux

In diesem Artikel zeige ich Ihnen, wie Sie i3 auf...

So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil

Inhaltsverzeichnis Bindungsklasse Inline-Stile bi...

Gestaltung der Bildvorschau auf der Inhaltswebseite

<br />Ich habe bereits zwei Artikel geschrie...

Lösung für das CSS-Höhenkollapsproblem

1. Hoher Einsturzgrad Im Dokumentfluss wird die H...

So erstellen Sie ein Django-Projekt und stellen eine Verbindung zu MySQL her

1: django-admin.py startproject Projektname 2: CD...

Schreiben Sie einen formellen Blog mit XHTML CSS

Der vollständige Name von Blog sollte Weblog sein,...

So schreiben Sie den Nofollow-Tag und verwenden ihn

Das „nofollow“-Tag wurde vor einigen Jahren von G...