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

jQuery manipuliert Cookies

Code kopieren Der Code lautet wie folgt: jQuery.c...

Implementierung der Graustufenversion mit Nginx und Lua

Installieren Sie memcached yum install -y memcach...

js, um eine einfache Produkt-Screening-Funktion zu erreichen

In diesem Artikelbeispiel wird der spezifische JS...

Verständnis des CSS-Selektorgewichts (persönlicher Test)

Code kopieren Der Code lautet wie folgt: <styl...

Verwenden Sie „overflow: hidden“, um Seiten-Bildlaufleisten zu deaktivieren

Code kopieren Der Code lautet wie folgt: html { Ü...

HTML-Tabellen-Tag-Tutorial (19): Zeilen-Tag

Die Attribute des <TR>-Tags werden verwende...

JavaScript-Wissen: Konstruktoren sind auch Funktionen

Inhaltsverzeichnis 1. Definition und Aufruf des K...

Grafisches Beispiel für die Verwaltung von Datenträgerkontingenten unter Linux

Das Datenträgerkontingent ist die Speichergrenze ...

ThingJS-Partikeleffekte, um Regen- und Schneeeffekte mit einem Klick zu erzielen

Inhaltsverzeichnis 1. Partikeleffekte 2. Laden Si...

17 JavaScript-Einzeiler

Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...

Zwei Möglichkeiten zum Beenden von Bash im Docker-Container unter Linux

Wenn Sie Bash beenden möchten, haben Sie zwei Mög...

Anfänger lernen einige HTML-Tags (3)

Anfänger, die mit HTML in Berührung kommen, lerne...