步骤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:http://localhost:3333/访问我的http://localhost:3333/
步骤2) mysql8 & phpmyadmin
现在我切换到mysql8,在这里我只使用映像和卷,并将command-option添加到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:http://localhost:3333/访问我的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访问我的mariadb-database:

按照码头枢纽上的mariadb,环境配置应该与mysql5 5容器相同。我假设,我还需要启用mysql_native_password,它对于mysql8 8容器不起作用。
我错过了什么?这是个窃听器还是我错过了什么?
发布于 2019-10-27 07:26:49
它适用于mariadb和--default-authentication-plugin=mysql_native_password,只是容器的启动非常慢。
这里有一个MWE,它可以使用不同的mysql版本(5和8)和最新的mariadb (10):
发布于 2019-10-27 07:42:46
你的船坞-合成文件工作。我启动MySQL容器,而不是切换到MariaDB映像,它运行良好。我觉得你应该看看码头日志。答案就在那里
发布于 2019-10-29 22:07:11
MariaDB没有default-authentication-plugin选项。也许这就是原因
https://stackoverflow.com/questions/58577255
复制相似问题