首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Adminer和docker组合连接到MySQL数据库

无法使用Adminer和docker组合连接到MySQL数据库
EN

Stack Overflow用户
提问于 2019-07-30 07:46:29
回答 1查看 9.2K关注 0票数 4

我正在尝试使用来自停靠中心的官方adminermysql映像连接到mysql数据库。

下面是我的docker-compose.yml文件配置:

代码语言:javascript
复制
version: '3'
services:
  mysql:
    image: mysql
    restart: always
    volumes: 
      - mysql:/var/lib/mysql
    environment: 
      - MYSQL_ALLOW_EMPTY_PASSWORD= 1
      - MYSQL_DATABASE= db
    ports: 
      - 3306:3306
      - 33060:33060
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
    depends_on: 
      - mysql
volumes:
  mysql:

每当我想使用Adminer登录到MySQL时,都会遇到以下问题:

SQLSTATEHY000服务器请求客户端未知的身份验证方法。 SQLSTATEHY000没有这样的文件或目录

下面是我尝试从Adminer接口连接到MySQL的输入:

代码语言:javascript
复制
#first try
System: MySQL
Server: localhost
Username: root
Database: db

#second try
System: MySQL
Server: mysql #container-name
Username: root
Database: db
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-16 03:33:23

您必须在撰写文件中添加默认的身份验证插件。

代码语言:javascript
复制
command: --default-authentication-plugin=mysql_native_password

这是完整的docker-compose.yml

代码语言:javascript
复制
services:
  mysql:
    image: mysql
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    volumes: 
      - mysql:/var/lib/mysql
    environment: 
      - MYSQL_ALLOW_EMPTY_PASSWORD= 1
      - MYSQL_DATABASE= db
    ports: 
      - 3306:3306
      - 33060:33060
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
    depends_on: 
      - mysql
volumes:
  mysql:

在管理员

代码语言:javascript
复制
System: MySQL <DB System to connect>
Server: mysql <should match the starting tag before image tag > (in your case mysql but you can change it to any name )
Username: root <username>
Password: <password>
Database: db <database name>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57266703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档