Вероятно, проблема связана с тем, что аутентификация сокета включена для пользователя root по умолчанию, когда пароль не установлен, во время обновления до 16.04. Это важное предупреждение задокументировано в примечаниях к выпуску от 16.04 :
Поведение пароля, когда пароль root в MySQL пуст, изменилось. Упаковка теперь позволяет аутентификацию сокета, когда пароль root MySQL пуст. Это означает, что пользователь без полномочий root не может войти в систему как пользователь root MySQL с пустым паролем.
По какой-то причине MySQL Workbench, поставляемый с 16.04, не работает из коробки с сервером MySQL, по крайней мере, для меня. Я пытался использовать «Local Socket / Pipe» для подключения несколькими различными способами, но безрезультатно.
Решение состоит в том, чтобы вернуться к аутентификации с использованием собственного пароля. Вы можете сделать это, войдя в MySQL, используя аутентификацию сокета, выполнив:
sudo mysql -u root
После входа в систему:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
который вернется к аутентификации с использованием собственного (старого по умолчанию) пароля. Если вы попытались каким-то другим способом решить проблему, вам нужно убедиться, что для поля «plugin» в mysql.user установлено значение «auth_token», что может потребовать использования mysqld_safe для входа в MySQL в случае, если вы Занимался такими вещами, как я.
Благодарим Мигеля Нието в блоге за это решение.