gpt4 book ai didi

mysql - docker-compose:mariadb - 连接被拒绝

转载 作者:行者123 更新时间:2023-11-29 15:32:34 27 4
gpt4 key购买 nike

步骤 1) mysql5 和 phpmyadmin

对以下 mysql-phpmyadmin 配置进行镜像:

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 访问我的mysql-database:http://localhost:3333/

步骤2)mysql8和phpmyadmin

现在我切换到 mysql8,其中只有图像和卷,并添加了 command-选项和 mysql_native_password-plugin:

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 访问我的mysql-database:http://localhost:3333/

步骤 3) mariadb 和 phpmyadmin

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

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 访问我的 ma​​riadb-database:

enter image description here

遵循 docker hub 上的 mariadb-README ,环境配置应与mysql5-container相同。我假设我还需要启用 mysql_native_password,这对于 mysql8-container 不起作用。

我想念什么?这是一个错误还是我错过了什么?

最佳答案

它适用于带有 --default-authentication-plugin=mysql_native_passwordmariadb,只是容器启动非常慢。

[编辑]这是一个 MWE,它适用于不同的 mysql 版本(5 和 8)以及最新的 mariadb(10):

关于mysql - docker-compose:mariadb - 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com