gpt4 book ai didi

mysql - Bamboo 中的 mysql docker 镜像访问被拒绝

转载 作者:行者123 更新时间:2023-11-29 21:03:59 26 4
gpt4 key购买 nike

我已经为 MySQL Docker 镜像配置了以下配置:

mysqldata:
image: busybox
volumes:
- /var/lib/mysql

mysql:
image: mysql:5.6
ports:
- "8203:3306"
volumes_from:
- mysqldata
environment:
- "MYSQL_ALLOW_EMPTY_PASSWORD=yes"
- "MYSQL_USER=root"

我用docker-compose up -d mysql将其提升,然后我可以针对镜像中的数据库运行命令,毫无问题地访问它,等等。

然后我设置了一个要在 Bamboo 中提升的 docker 镜像:

enter image description here

但是在对该镜像中的数据库运行命令时失败,并出现错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

从测试运行的构建日志中我可以看到应用了环境变量:

/usr/bin/docker run --workdir /data --detach --name mysql-user-service -p 8203:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -e MYSQL_USER=root mysql:5.6

但仍然没有成功。

谁知道如何解决这个问题?

最佳答案

您从哪里连接?主机,另一个容器?

您是否向 user@localhost MySQL 用户授予了权限,以便它可以访问数据库?该错误通常意味着您正在连接的用户无权访问数据库,您需要授予权限。

如果您执行docker ps,您将看到为 MySQL 启动的容器的名称和 ID。获取该名称或 ID 并运行

docker exec -it <name or id> sh

这将使您进入容器,您可以运行 MySQL 命令来授予访问权限,如下所示。

GRANT ALL ON *.* TO 'root'@'localhost

由于您正在使用撰写,因此您也可以执行类似的操作

docker-compose run mysql GRANT ALL ON *.* TO 'root'@'localhost

您可能还需要创建数据库(目前还没有数据库),并且您将使用相同的步骤,只需更改运行的 sql

关于mysql - Bamboo 中的 mysql docker 镜像访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36980588/

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