Langjähriger Leser von Stackoverflow, der zum ersten Mal eine Frage einreicht.
Ich musste meinen Dev-Laptop vor einigen Tagen aus verschiedenen Gründen neu booten. Als ich es zurück brachte, erkannte ich, dass mysqld nicht mehr zugänglich war. Normalerweise verbinde ich mich mit root auf einer lokalen Dev-Maschine. Ich konnte es auch nicht wie gewohnt über die Init-Skripte starten / stoppen und habe mich wie immer an verschiedene Suchmaschinen gewandt. Nach Rücksprache mit Google, Bing und Duckduckgo.com konnte ich immer noch keine Lösung für das Problem finden. Ich fand Lösungen für ähnliche Probleme, aber alle beteiligten sich daran, das automatisch erzeugte Passwort für debian-sys-maint zu ändern und mich als root anzumelden, aber da ich mich nicht als root anmelden kann, löst das mein Problem nicht.
Kennt jemand andere Lösungskandidaten für dieses Dilemma?
error: 'Zugriff verweigert für Benutzer' debian-sys-maint '@' localhost '(mit Passwort: YES)'.
Ich habe gerade den gleichen Fehler, nachdem ich mysql-Datenbank wie folgt wiederhergestellt:
%Vor%Die Datei mysql.backup.sql stammt von einem anderen Server.
Das Problem scheint von dem unterschiedlichen Passwort zu stammen, das in /etc/mysql/debian.cnf in Ziel- und Quellsystemen gespeichert ist. Ich habe die Passwortzeile aus der debian.cnf-Datei des Quellsystems in die Datei im Zielsystem kopiert / eingefügt. Dann konnte ich mysqld problemlos neu starten.
Hinweis: Ich musste killall mysqld
ausführen, bevor ich einen Neustart durchführen konnte.
Klingt so, als hätten Sie die Tabellen in der Datenbank ("mysql"), die die Zugangsdaten für den Zugriff auf alle Datenbanken enthalten, verworfen. Sehen Sie etwas in den MySQL-Protokollen (/ var / log / mysql), das auf ein Problem hinweist?
Wenn es Korruption gibt, hängt der Ansatz, es zu reparieren, von Ihrer Speicher-Engine ab. Verwenden Sie MyISAM (Standard)? In diesem Fall versuchen Sie, den Daemon auszuschalten und myisamchk zu versuchen, eine Reparatur durchzuführen.
Wenn Sie nicht reparieren können, müssen Sie wahrscheinlich aus Sicherungen wiederherstellen (Sie haben Sicherungskopien, oder?) oder MySQL neu initialisieren (wahrscheinlich ist es am einfachsten, das Paket über APT neu zu installieren).
Sie können auch ServerFault ausprobieren, um weitere Vorschläge erfahrener Systemadministratoren zu erhalten.
PS- Wenn Sie Zugriff auf System-Superuser haben, können Sie das MySQL-Root-Passwort zurücksetzen, auch wenn Sie sich nicht bei MySQL anmelden können, auch wenn Sie etwas verworrenes Verfahren .