下一个云和mysql设置:客户端未知的身份验证方法

问题描述 投票:0回答:1

[使用牧场主GUI,我试图在我的AKS群集上使用MySQL数据库工作负载设置Nextcloud。在环境变量中,我已经定义了管理员用户和密码,所以为什么在创建管理员页面上会收到此错误?

尝试创建管理员用户时出错:无法连接到数据库:驱动程序中发生异常:SQLSTATE [HY000] [2054]服务器请求客户端未知的身份验证方法

我多次正确输入了用户名和密码。下面是到目前为止我对数据库和nextcloud的配置。

数据库工作负载:

Name: nextdb
Docker image: mysql
port: not set

我有以下变量:

MYSQL_ROOT_PASSWORD=rootpassX 
MYSQL_DATABASE=nextDB
MYSQL_USER=nextcloud
MYSQL_PASSWORD=passX
  • 卷配置:

卷类型:绑定安装

卷名:nextdb

节点上的路径:/ nextdb

节点上的路径必须是:目录或创建

挂载点:/ var / lib / mysql

nextcloud工作负载:

  • 名称:nextcloud
  • Docker图像:nextcloud
  • 端口映射:

    端口名称:nextcloud80发布容器端口:80协议:TCP作为:第4层负载均衡器在侦听端口上:80

  • 环境变量:

    MYSQL_DATABASE = nextDB

    MYSQL_USER = nextcloud

    MYSQL_PASSWORD = passX

    MYSQL_HOST = nextdb

    NEXTCLOUD_ADMIN_USER = admin

    NEXTCLOUD_ADMIN_PASSWORD = adminPass

    NEXTCLOUD_DATA_DIR = / var / www / html / nextcloud

  • 音量:

第一卷:

name: nextcloud
Volume Type: Bind-Mount
Path on the Node: /nextcloud
The Path on the Node must be: a directory or create.
Mount Point: /var/www/html

第2卷

name: nextdb
Volume Type: Bind-Mount
Path on the Node: /nextdatabase
The Path on the Node must be: a directory or create.
Mount Point: /var/lib/mysql

我的配置有什么问题?

mysql docker azure-aks rancher nextcloud
1个回答
0
投票

[从版本8.02开始,MySQL更新了客户端连接的默认身份验证方法。要恢复较旧的身份验证方法,您需要明确指定默认的身份验证方法。

如果您能够在Rancher中更新数据库服务以传递容器参数--default-authentication-plugin=mysql_native_password,该参数会将MySQL恢复为较早的auth方法。

或者,根据您使用的MySQL映像,您可以从该库创建一个新的Docker映像,该映像将替换容器内的/etc/mysql/my.cnf。替换之前,您应该检查/etc/mysql/my.cnf,如果配置文件中有!includedir指令,则可以使用选择的任何文件名将补充配置放入包含的文件夹中。

补充配置应如下所示:

[mysqld]
default_authentication_plugin=mysql_native_password
© www.soinside.com 2019 - 2024. All rights reserved.