【发布时间】:2020-08-26 13:52:26
【问题描述】:
MySql 是通过 docker 和 ansible 脚本安装的。
为了能够从宿主机登录容器,现在我手动登录容器并运行sql语句:
$ docker exec -it bm_my_sql bash
bash-4.2# mysql -uroot -p
update mysql.user set host = '%' where user = 'root';
然后我可以从主机登录到容器:
$ mysql -h localhost -P 3306 --protocol=tcp -u root -p
问题是,如何通过 docker 配置或 ansible 脚本为 root 用户更新 mysql.user.host 字段。
找不到任何配置设置。
【问题讨论】:
-
这是通过 env vars 和官方 mysql docker 镜像上的入口点脚本管理的。这是版本 8 的版本:github.com/docker-library/mysql/blob/master/8.0/…。您可以在图像文档中找到相应的环境变量:hub.docker.com/_/mysql
-
@Zeitounator,找到
MYSQL_ROOT_HOSTenv 变量对我来说是个问题。仔细看了一遍,发现了。不幸的是,它只在文档中提到,没有描述。用户只能猜测它的作用。
标签: mysql docker configuration