【发布时间】:2021-11-06 13:28:38
【问题描述】:
我有一个全新的 Laravel 8 安装和 mysql:8.0 映像。
我想在 MySql 中添加一些配置。
这是我在docker-compose.yml中的mysql服务:
mysql:
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
retries: 3
timeout: 5s
这很好用。如果我现在尝试将my.cnf 添加到这样的卷中:
volumes:
- 'sailmysql:/var/lib/mysql'
- './docker/8.0/my.cnf:/etc/mysql/my.cnf'
并使用sail down 和sail up 重新启动容器,然后它突然失败:
mysql_1 | 2021-11-06T13:26:52.465786Z 0 [ERROR] [MY-010095] [Server] Failed to access directory for --secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Supplied value : /var/lib/mysql-files
mysql_1 | 2021-11-06T13:26:52.465813Z 0 [ERROR] [MY-010119] [Server] Aborting
如何包含配置?
【问题讨论】:
-
当您在 docker-compose.yml 中更改 mysql 服务时,您是否执行 docker-compose down 和 up 以使更改生效?如果是这样,之后是否运行了 mysql 服务?您是否尝试检查提供的值,目录 /var/lib/mysql-files 是否存在并且可由 mysql 访问?日志中有任何内容吗?
标签: mysql laravel docker-compose