Application error #400 [error:2045] [error:1045] in MantisBT (Ubuntu 18.04)

Application error #400 [error:2045] [error:1045] in MantisBT (Ubuntu 18.04)

更新后(通过-apt update 和apt upgrade)访问安装MantisBT 已无用。数据库和用户完好无损。 可以通过 SSH 完整地访问服务器 (VPS)。

The connection to the database has failed. The error returned by the database was # 2054: The server requested authentication method unknown to the client Use the «Back» button in your web browser to return to the previous page. There you can correct the problems that have been identified in this error notification or select another action. You can also click on an option in the menu bar to go directly to a new section.

phpmyadmin 错误:

2054 - The server requested authentication method unknown to the client

mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client

Ubuntu 18.04.2 LTS

发布:18.04

PHP 7.2.15-0ubuntu0.18.04.1 (cli)(内置:2019 年 2 月 8 日 14:54:22)(NTS)

mysql Linux 版本 8.0.15 x86_64(MySQL 社区服务器 - 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

升级过程遇到错误,无法继续。

Error in access page MantisBT

Error in phpmyadmin

使用 root 用户登录 MySQL 控制台:

mysql -u root -p<password>

运行以下代码:

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

您必须将 'NEW PASSWORD' 更改为您的新密码,然后尝试登录。

希望这会有所帮助。

我使用以下命令更新了表的结构:

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.

再次尝试更改根密码时:

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'newpassword';

答案是:

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

查询错误,我找到了几种解决方案,其中一种是感兴趣的:

I know this is quite old issue, but seems still not solved fully. I met the same problem, and I solved this in following way.

In my.ini file of MySQL, I changed default_authentication_plugin to mysql_native_password

' default_authentication_plugin=caching_sha2_password ' comment out default_authentication_plugin=mysql_native_password And then, at the MySQL Workbench, I set the password type of schema to standard, not sha2-something. Then it works.

MySQL is version 8.0, and PHP is 7.26 running on Window 7.

综上所述,我认为应该在MySQL配置文件中做如下调整:

' default_authentication_plugin=caching_sha2_password  ' comment out
default_authentication_plugin=mysql_native_password

WAMP中的配置文件是my.ini,LAMP中的文件是未知的,位置(对我来说)是我向整个社区寻求帮助的时候。

提前致谢。