Unter Ubuntu 15.10 konnte mysql zu einem bestimmten Zeitpunkt (möglicherweise nach der Installation und Deinstallation von mariadb) nicht mehr ausgeführt werden. Die Aufgaben sind aktiv, aber der Server ist inaktiv.
Auf Befehl:
mysql -u root -p
Das System antwortet mit wie folgt:
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Keine Möglichkeit, sich anzumelden, kein Plugin gefunden, keine Fehler in Konfigurationsdateien (alle auf Standard).
Wie kann ich die Kontrolle wiedererlangen und den MySQL-Server zum Laufen bringen?
Antworten:
Der "unix_socket" wurde durch den MySQL-Authentifizierungsprozess aufgerufen (möglicherweise im Zusammenhang mit einer teilweisen Migration der Datenbank nach Mariadb, die jetzt entfernt wurde). Um alles wieder zum Laufen zu bringen, gehe su:
dann folge:
Dadurch wird mysql vollständig gestoppt, die Benutzerauthentifizierung umgangen (kein Kennwort erforderlich) und eine Verbindung zu mysql mit dem Benutzer "root" hergestellt.
Verwenden Sie jetzt in der MySQL-Konsole die MySQL-Verwaltungsdatenbank:
So setzen Sie das root-Passwort auf mein neues Passwort zurück (ändern Sie es nach Ihren Wünschen):
Und diese überschreibt die Authentifizierungsmethode, entfernt die unix_socket-Anforderung (und alles andere) und stellt eine normale und funktionierende Kennwortmethode wieder her:
Beenden Sie die MySQL-Konsole:
Stoppen und starten Sie alles, was mit MySQL zu tun hat:
Vergiss nicht
exit
den su-Modus.Jetzt läuft der mySQL Server. Sie können sich mit root anmelden:
oder was auch immer Sie wünschen. Die Passwortverwendung ist wirksam.
Das ist es.
quelle
mysqld_safe
hat keine Option wie--skip-grant-tables
..was gibt es?mysqld --verbose --help
mysqld_safe
die das Argument --skip-grant-tables zu beanstanden, existierte ich nichtmysqld
. Es klagte jedoch immer wieder, dass es die Socket-Dateien in nicht erstellen könne/var/run/mysqld/
. Ich habe die Apparmor-Konfiguration überprüft und sie hatte die richtigen Berechtigungen. Um dies zu beheben ich hattemkdir /var/run/mysqld/
und dann gibt sie völlig offen Berechtigungen:chmod -R 777 /var/run/mysqld/
. Dann konnte ich endlich den Daemon starten und das Plugin auf 'mysql_native_password' ändern.Hier sind meine Schritte dazu:
quelle