it-swarm.com.de

Ubuntu 15.10 MySQL-Fehler 1524 - unix_socket

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?

49

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:

Sudo su

dann folge:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot

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:

use mysql;

So setzen Sie das root-Passwort auf mein Passwort zurück (ändern Sie es auf Ihren Wunsch), um sich dessen sicher zu sein:

update user set password=PASSWORD("mynewpassword") where User='root';

Und diese überschreibt die Authentifizierungsmethode, entfernt die unix_socket-Anforderung (und alles andere) und stellt eine normale und funktionierende Kennwortmethode wieder her:

update user set plugin="mysql_native_password";

Beenden Sie die MySQL-Konsole:

quit;

Stoppen und starten Sie alles, was mit MySQL zu tun hat:

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start

Vergessen Sie nicht, den su-Modus zu exit.

Jetzt läuft der mySQL Server. Sie können sich mit root anmelden:

mysql -u root -p

oder was auch immer Sie wünschen. Die Passwortverwendung ist wirksam.

Das ist es.

92

Hier sind meine Schritte dazu:

/etc/init.d/mysql stop
Sudo killall mysqld_safe
Sudo killall mysqld
Sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
update user set plugin="mysql_native_password";
quit;
/etc/init.d/mysql stop
Sudo kill -9 $(pgrep mysql)
/etc/init.d/mysql start
11
Roy Yan