首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头-撰写: mariadb -连接被拒绝

码头-撰写: mariadb -连接被拒绝
EN

Stack Overflow用户
提问于 2019-10-27 07:08:47
回答 3查看 8.5K关注 0票数 1

步骤1) mysql5 & phpmyadmin

映像下面的mysql-phpmyadmin配置:

代码语言:javascript
复制
version: '3.6'

services:

  db:
    image: mysql:5.7.24
#    image: mysql:8.0.18
#    image: mariadb:10.4.8
#    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
    - ./mysql5:/var/lib/mysql
#    - ./mysql8:/var/lib/mysql
#    - ./mariadb:/var/lib/mysql
    environment:
    - MYSQL_ROOT_PASSWORD=test
    - MYSQL_DATABASE=test
    - MYSQL_USER=test
    - MYSQL_PASSWORD=test

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:4.8.5
    restart: always
    depends_on:
    - db
    environment:
    - PMA_HOST=db
    - PMA_PORT=3306
    - PMA_USER=test
    - PMA_PASSWORD=test
    ports:
    - "3333:80"

我可以通过phpmyadmin:http://localhost:3333/访问我的http://localhost:3333/

步骤2) mysql8 & phpmyadmin

现在我切换到mysql8,在这里我只使用映像和卷,并将command-option添加到mysql_native_password-plugin中:

代码语言:javascript
复制
version: '3.6'

services:

  db:
#    image: mysql:5.7.24
    image: mysql:8.0.18
#    image: mariadb:10.4.8
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
#    - ./mysql5:/var/lib/mysql
    - ./mysql8:/var/lib/mysql
#    - ./mariadb:/var/lib/mysql
    environment:
    - MYSQL_ROOT_PASSWORD=test
    - MYSQL_DATABASE=test
    - MYSQL_USER=test
    - MYSQL_PASSWORD=test

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:4.8.5
    restart: always
    depends_on:
    - db
    environment:
    - PMA_HOST=db
    - PMA_PORT=3306
    - PMA_USER=test
    - PMA_PASSWORD=test
    ports:
    - "3333:80"

我可以通过phpmyadmin:http://localhost:3333/访问我的http://localhost:3333/

步骤3) mariadb & phpmyadmin

现在,我使用以下配置切换到mariadb,其中只更改了映像和卷:

代码语言:javascript
复制
version: '3.6'

services:

  db:
#    image: mysql:5.7.24
#    image: mysql:8.0.18
    image: mariadb:10.4.8
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    volumes:
#    - ./mysql5:/var/lib/mysql
#    - ./mysql8:/var/lib/mysql
    - ./mariadb:/var/lib/mysql
    environment:
    - MYSQL_ROOT_PASSWORD=test
    - MYSQL_DATABASE=test
    - MYSQL_USER=test
    - MYSQL_PASSWORD=test

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:4.8.5
    restart: always
    depends_on:
    - db
    environment:
    - PMA_HOST=db
    - PMA_PORT=3306
    - PMA_USER=test
    - PMA_PASSWORD=test
    ports:
    - "3333:80"

现在我无法通过phpmyadmin访问我的mariadb-database

按照码头枢纽上的mariadb,环境配置应该与mysql5 5容器相同。我假设,我还需要启用mysql_native_password,它对于mysql8 8容器不起作用。

我错过了什么?这是个窃听器还是我错过了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-27 07:26:49

它适用于mariadb--default-authentication-plugin=mysql_native_password,只是容器的启动非常慢。

这里有一个MWE,它可以使用不同的mysql版本(5和8)和最新的mariadb (10):

票数 2
EN

Stack Overflow用户

发布于 2019-10-27 07:42:46

你的船坞-合成文件工作。我启动MySQL容器,而不是切换到MariaDB映像,它运行良好。我觉得你应该看看码头日志。答案就在那里

票数 0
EN

Stack Overflow用户

发布于 2019-10-29 22:07:11

MariaDB没有default-authentication-plugin选项。也许这就是原因

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58577255

复制
相关文章

相似问题

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