Не может обновить mysql без системного набора пароля root

Я пытаюсь обновить систему, но mysql 5.7 перестал работать. Кажется, что это не может соединиться из-за проблем аутентификации.

Вот полный консольный вывод:

Reading package lists... Done
Building dependency tree
Reading state information... Done
mysql-server-5.7 is already the newest version (5.7.23-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up mysql-server-5.7 (5.7.23-0ubuntu0.16.04.1) ...
Renaming removed key_buffer and myisam-recover options (if present)
mysql_upgrade: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Важный бит:

 mysql_upgrade: Got error: 1045: Access denied for user 'root'@'localhost'

Я могу войти в систему очень хорошо с "mysql-u корень-p" команда. Я не использую пароль для входа в систему в сервер, как я использую ssh ключи, если он имеет значение.

Почему эта проблема неожиданно возникала теперь и что может быть сделано для разрешения его? Я также не обновил систему долгое время, но это - единственный пакет с проблемами.

0
задан 5 October 2018 в 01:46

1 ответ

Вы могли попытаться включить вход в систему без пароля MySQL через Сокет Unix, который обычно включается по умолчанию, но возможно Вы изменили это.

Вход в систему mysql базируйтесь оболочка и выполненный это:

grant usage on *.* to 'root'@'localhost' identified via unix_socket;

Если это не работает, попытайтесь добавить файл ~/.my.cnf с содержанием:

[client]
user=root
password=your_password

сделайте это читаемым только владельцем (и корень):

chmod 600 ~/.my.cnf

и затем попробуйте еще раз.

-1
ответ дан 27 October 2019 в 09:00

Другие вопросы по тегам:

Похожие вопросы: