Ошибка приложения # 400 [ошибка: 2045] [ошибка: 1045] в MantisBT (Ubuntu 18.04) - PullRequest
0 голосов
/ 15 февраля 2019

После обновления (через -apt update и apt upgrade) доступ к установке MantisBT стал бесполезным.Базы данных и пользователи не повреждены.Доступ к серверу (VPS) через SSH доступен и не поврежден.

Не удалось подключиться к базе данных.Ошибка, возвращаемая базой данных, была # 2054: сервер запросил неизвестный клиенту метод аутентификации. Используйте кнопку «Назад» в вашем веб-браузере, чтобы вернуться на предыдущую страницу.Там вы можете исправить проблемы, выявленные в этом уведомлении об ошибке, или выбрать другое действие.Вы также можете нажать на опцию в строке меню, чтобы перейти непосредственно к новому разделу.

Ошибка в phpmyadmin:

2054 - сервер запросил метод аутентификации, неизвестныйклиент

mysqli_real_connect (): сервер запросил метод аутентификации, неизвестный клиенту [caching_sha2_password]

mysqli_real_connect (): (HY000 / 2054): сервер запросил метод аутентификации, неизвестный клиенту

Ubuntu 18.04.2 LTS

Релиз: 18.04

PHP 7.2.15-0ubuntu0.18.04.1 (cli) (сборка: 8 февраля 2019 14:54:22) (NTS)

mysql Ver 8.0.15 для Linux на x86_64 (MySQL Community Server - GPL)

Версия сервера: Apache / 2.4.29 (Ubuntu)

Я изменил конфигурацию MySQL:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'rootpassword'

, но я получаюследующая ошибка:

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 51, found 50. Created with MySQL 80013, now running 80015. Please use mysql_upgrade to fix this error.

При попытке обновить экземпляр MySQL:

mysql_upgrade: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) while connecting to the MySQL server

В процессе обновления произошла ошибкаи не будет продолжаться.

Ошибка на странице доступа MantisBT

Ошибка в phpmyadmin

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Я обновил структуру таблиц с помощью команды:

mysql_upgrade -u root -p --force

И результат:

Checking server version.
Running queries to upgrade MySQL server.
Upgrading system table data.
Checking system database.
mysql.columns_priv                                 Table is already up to date
mysql.component                                    Table is already up to date
mysql.db                                           Table is already up to date
mysql.default_roles                                Table is already up to date
mysql.engine_cost                                  Table is already up to date
mysql.func                                         Table is already up to date
mysql.general_log                                  Table is already up to date
mysql.global_grants                                Table is already up to date
mysql.gtid_executed                                Table is already up to date
mysql.help_category                                Table is already up to date
mysql.help_keyword                                 Table is already up to date
mysql.help_relation                                Table is already up to date
mysql.help_topic                                   Table is already up to date
mysql.innodb_index_stats                           Table is already up to date
mysql.innodb_table_stats                           Table is already up to date
mysql.password_history                             Table is already up to date
mysql.plugin                                       Table is already up to date
mysql.procs_priv                                   Table is already up to date
mysql.proxies_priv                                 Table is already up to date
mysql.role_edges                                   Table is already up to date
mysql.server_cost                                  Table is already up to date
mysql.servers                                      Table is already up to date
mysql.slave_master_info                            Table is already up to date
mysql.slave_relay_log_info                         Table is already up to date
mysql.slave_worker_info                            Table is already up to date
mysql.slow_log                                     Table is already up to date
mysql.tables_priv                                  Table is already up to date
mysql.time_zone                                    Table is already up to date
mysql.time_zone_leap_second                        Table is already up to date
mysql.time_zone_name                               Table is already up to date
mysql.time_zone_transition                         Table is already up to date
mysql.time_zone_transition_type                    Table is already up to date
mysql.user                                         Table is already up to date
The sys schema is already up to date (version 2.0.0).
Checking databases.

При повторной попытке изменить пароль root:

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'newpassword';

Ответ таков:

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%' 

Задав вопрос об ошибке, я нашел несколько решений, одно из которых представляет интерес:

Я знаю, что это довольно старая проблема, но, кажется, до сих пор не решена полностью.Я столкнулся с той же проблемой и решил ее следующим образом.

В файле my.ini MySQL я изменил default_authentication_plugin на mysql_native_password

'default_authentication_plugin = caching_sha2_password' закомментируйте default_authentication_plugin_ mysqlзатем в MySQL Workbench я установил стандартный тип схемы пароля, а не sha2-что-то.Тогда это работает.

MySQL версии 8.0, а PHP 7,26 работает на Windows 7.

В заключение, я думаю, что мы должны сделать следующую настройку в файле конфигурации MySQL:

' default_authentication_plugin=caching_sha2_password  ' comment out
default_authentication_plugin=mysql_native_password

Файл конфигурации в WAMP - my.ini, файл в LAMP неизвестен, и местоположение (для меня) - это когда я обращаюсь ко всему сообществу за помощью.

Спасибо ввперед.

0 голосов
/ 15 февраля 2019

Войдите в консоль MySQL с пользователем root:

mysql -u root -p<password>

Запустите следующий код:

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'NEW PASSWORD';

Необходимо изменить'НОВЫЙ ПАРОЛЬ' на ваш новый пароль, а затем попробуйте войти.

Надеюсь, это поможет.

...