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
Code kopieren Der Code lautet wie folgt: jQuery.c...
Installieren Sie memcached yum install -y memcach...
In diesem Artikelbeispiel wird der spezifische JS...
Dieser Artikel beschreibt, wie Sie Apache auf ein...
Code kopieren Der Code lautet wie folgt: <styl...
1. Laden Sie das MySQL-Installationspaket herunte...
Code kopieren Der Code lautet wie folgt: html { Ü...
Die Attribute des <TR>-Tags werden verwende...
Vorwort Heute erklärt Ihnen Prince die vollständi...
Inhaltsverzeichnis 1. Definition und Aufruf des K...
Das Datenträgerkontingent ist die Speichergrenze ...
Inhaltsverzeichnis 1. Partikeleffekte 2. Laden Si...
Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...
Wenn Sie Bash beenden möchten, haben Sie zwei Mög...
Anfänger, die mit HTML in Berührung kommen, lerne...