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:
|
>>: Beispielcode von layim zum Integrieren des Rechtsklickmenüs in JavaScript
Persönliche Implementierungs-Screenshots: Install...
1. Einführung in Prometheus Prometheus ist eine O...
Hintergrund Kürzlich stieß ich bei der Bereitstel...
.imgbox{ Breite: 1200px; Höhe: 612px; Rand rechts...
Vorwort Der Grund für das Schreiben dieses Artikel...
In diesem Artikel wird hauptsächlich die Layoutme...
Vorwort Vor MySQL 8.0 war es ziemlich mühsam, Dat...
Hintergrund Um die Docker-Containerisierung währe...
Inhaltsverzeichnis Verpacken, Starten und Optimie...
Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...
In diesem Artikelbeispiel wird der spezifische Co...
Hintergrund Wenn Sie auf manchen Webseiten von Ei...
Ich habe heute Abend ein Problem gelöst, das mich...
Wirkung: <!doctype html> <html> <K...
Manchmal müssen wir einige Befehle auf einem Remo...