Das Problem ist wahrscheinlich darauf zurückzuführen, dass die Socket-Authentifizierung für den Root-Benutzer standardmäßig aktiviert ist, wenn während des Upgrades auf 16.04 kein Kennwort festgelegt wurde. Diese wichtige Einschränkung ist in den 16.04 Release Notes dokumentiert :
Das Passwortverhalten, wenn das MySQL-Root-Passwort leer ist, hat sich geändert. Das Paketieren ermöglicht jetzt die Socket-Authentifizierung, wenn das MySQL-Root-Passwort leer ist. Dies bedeutet, dass sich ein Benutzer ohne Rootberechtigung nicht als MySQL-Rootbenutzer mit einem leeren Kennwort anmelden kann.
Aus irgendeinem Grund funktioniert die mit 16.04 gelieferte MySQL Workbench nicht ohne Weiteres mit MySQL-Server, zumindest für mich. Ich habe versucht, mit "Local Socket / Pipe" auf verschiedene Arten eine Verbindung herzustellen, aber ohne Erfolg.
Die Lösung besteht darin, zur nativen Kennwortauthentifizierung zurückzukehren. Sie können sich dazu bei MySQL mithilfe der Socket-Authentifizierung anmelden, indem Sie folgende Schritte ausführen:
sudo mysql -u root
Einmal eingeloggt:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Dadurch wird die native (alte Standardeinstellung) Kennwortauthentifizierung wiederhergestellt. Wenn Sie versucht haben, das Problem mit einer anderen Methode zu beheben, müssen Sie sicherstellen, dass das Feld "plugin" in mysql.user auf "auth_token" gesetzt ist. Dies erfordert möglicherweise, dass Sie sich mit mysqld_safe bei MySQL anmelden Ich habe mit Dingen herumgebastelt, wie ich es getan habe.
Dank an Miguel Nietos Blogpost für diese Lösung.