mysql - docker 撰写 : The server requested authentication method unknown to the client

标签 mysql docker docker-compose mysql-8.0

我有这个 yml 文件用于在 docker 中配置 MySQL:

# Use root/example as user/password credentials
version: '3.1'

services:

  db:
    image: mysql
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: 'pass'
       MYSQL_DATABASE: 'db'
       MYSQL_USER: 'user'
       MYSQL_PASSWORD: 'pass'

  adminer:
    image: adminer
    restart: always
    ports:
      - 8888:8080

我使用以下命令从 yml 所在的同一目录启动容器:

docker-compose -f stack.yml up

然后我得到了这个错误:

then i get following error while logging in

最佳答案

如果您遇到此错误但仍希望使用 MySQL v.8。您可以通过告诉 MySQL Server 使用旧的身份验证插件来做到这一点。

因此,您的撰写文件将如下所示:

# Use root/example as user/password credentials

version: '3.1'

services:

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: 'pass'
       MYSQL_DATABASE: 'db'
       MYSQL_USER: 'user'
       MYSQL_PASSWORD: 'pass'

  adminer:
    image: adminer
    restart: always
    ports:
      - 8888:8080

关于mysql - docker 撰写 : The server requested authentication method unknown to the client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50097032/

相关文章:

docker - 重新连接到Docker容器中正在运行的bash

mysql - SQL按两列进行复杂排序

sql-server - Docker 连接 SQL Server 容器非零代码 : 1

php - 未定义的常量和通过引用错误分配新的返回值

php - 自 docker 更新以来的 Symfony Autowiring 问题

docker - 是否可以配置 docker-compose 以忽略其服务的错误并继续其他服务?

php - 访问Docker容器(如URL)

docker: MISCONF Redis配置保存RDB快照

php - 拥有非常简单的CMS系统

php - 如果值等于数组的任何值,则 MySQL 更新列