Ubuntu 16.04 - Apt-get не работает - после новой установки Mysql [дубликат]

Я пытаюсь установить mysql и получаю сообщение об ошибке:

mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server

После некоторого поиска я обнаружил, что это, возможно, дает доступ к debian-sys-maint, поэтому Я сделал это:

sudo cat /etc/mysql/debian.cnf

Затем установил пароль debian в mysql:

mysql -u root -p <password>
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password-here';

Затем я перезапускаю:

sudo /etc/init.d/mysql restart

И снова пытаюсь настроить:

sudo dpkg --configure -a

Я получаю ту же ошибку.

12
задан 9 September 2020 в 19:36

2 ответа

Это происходит после многочисленных попыток ответить на вопрос

Проверить пользователей в установке MYSQL

 mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
 +-----------+-------------------------------------------+-----------------------+-----------+
 | User      | authentication_string                     | plugin                | Host      |
 +-----------+-------------------------------------------+-----------------------+-----------+
 | root      | *4C856331B587C990CC0D06E7EC93CB2D7A2CAD5F | mysql_native_password | localhost |
 | mysql     | invalid                                   | mysql_native_password | localhost |
 | wordpress | *2D2CF7300069DAB3433A5A0F49B92407769EBC56 | mysql_native_password | localhost |
 +-----------+-------------------------------------------+-----------------------+-----------+

Создать пользователя Debian-sys-maint

 mysql> CREATE USER 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password';

Использовать тот же пароль в файле debian.cnf

user@system:~$ sudo cat /etc/mysql/debian.cnf

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = **n4aSHUP04s1J32X5**
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = **n4aSHUP04s1J32X5**
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

mysql> CREATE USER 'debian-sys-maint'@'localhost' IDENTIFIED BY 'n4aSHUP04s1J32X5';

Предоставьте доступ пользователю Debian-sys-maint

mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> EXIT
0
ответ дан 3 January 2021 в 23:01

Немного поздно, но вот оно: Во-первых, я на

Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:    16.10
Codename:   yakkety

, мне пришлось "снять отметку" с некоторых репозиториев программного обеспечения. Это легко сделать в графическом интерфейсе Программное обеспечение и обновления на вкладке Другое программное обеспечение . Я не отмечал:

  • нестабильные репозитории
  • xenial репозитории
  • "отключены при обновлении до yakkety" репозитории

Единственными проверенными репозиториями для меня были:

окно программного обеспечения и обновлений

Затем я решил проблему следующим путь:

sudo su

root@iqbal: mysql -u root -p
Enter password:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<your password>';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Если возникает ошибка (1819), введите это в терминале mysql

mysql> uninstall plugin validate_password;

Затем перезапустите mysql: systemctl restart mysql

Наконец

apt install -f

, чтобы исправить сломанные зависимости

Если ошибка не исчезнет, ​​снова войдите в терминал mysql, войдите в систему: введите это:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<your password>'

apt -f install в последний раз.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libmecab2
Use 'sudo apt autoremove' to remove it.
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.
Setting up mysql-server-5.7 (5.7.17-0ubuntu0.16.10.1) ...
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
The sys schema is already up to date (version 1.5.1).
Checking databases.

(your databases will be shown here...)

Upgrade process completed successfully.
Checking if update is needed.
Setting up mysql-server (5.7.17-0ubuntu0.16.10.1) ...

Другой способ решения был: apt -u dist-upgrade

6
ответ дан 3 January 2021 в 23:01

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

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