После обновления Ubuntu 16.04 новыми обновлениями мое java-приложение больше не может подключаться к mysql.
Я попытался соединиться вручную через терминал, и с Mysql Workbench, тот же результат:

Access denied for user 'root'@'localhost' (using password: NO)

Обычно я вхожу в систему с правами пользователя root и без пароля.
После некоторых поисков я обнаружил, что это как-то связано с plugin auth

Я следовал инструкции по этой теме, второй ответ

sudo mysql -u root
use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Но я не проверял свою версию mysql заранее, то есть 5.7.17.
Я знаю, я пытался сделать быстро, и я сделал глупо.
Я должен был сделать :

[mysql] update user set plugin='mysql_native_password' where User='root';

Так что теперь я даже не могу запустить ни одного запроса mysql чтобы исправить мою ошибку.
Я не могу найти, если пользователь "MySQL" может подключиться через приглашение ...
Я не могу вспомнить, установил ли я других пользователей: как я могу это проверить?

Любая идея, кто-нибудь, пожалуйста?

1 ответ1

0

после поиска немного больше, я наткнулся на это, который добился цели;

sudo service mysql stop
sudo /usr/bin/mysqld_safe --skip-grant-tables &
mysql -h localhost

Оттуда я мог подключиться к MySQL. Затем :

update user set plugin='mysql_native_password' where user = 'root';

После перезапуска сервиса я смог связаться с пользователем root.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .