Mar*_*tin 1 mysql docker docker-compose
我想使用 docker 镜像启动 MySQL 本地实例。
到目前为止我的docker-compose.yml文件如下所示:
version: '3.3'
services:
db:
image: mysql:8
command: --default-authentication-plugin=mysql_native_password
volumes:
- ./mysql-dump:/docker-entrypoint-initdb.d
restart: always
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: sqlPractice
MYSQL_USER: admin
MYSQL_PASSWORD: admin
ports:
- '7142:3306'
security_opt:
- seccomp:unconfined
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切正常。我的数据库提供了数据,但在执行一次查询后,如下所示:
SELECT DISTINCT surname, name, data FROM exams e JOIN students s ON e.`id-student` = s.`id-student` WHERE passed='Y' AND (data, `id-centre`) = (SELECT MIN(data), e.`id-centre` FROM exams e JOIN centers c ON e.`id-center` = c.`id-center` WHERE e.passed='Y' AND c.`center-name` = 'IT Institute')
Run Code Online (Sandbox Code Playgroud)
我收到如下错误:
ER_MIX_OF_GROUP_FUNC_AND_FIELDS: In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'sqlPractice.e.id-center'; this is incompatible with sql_mode=only_full_group_by
Run Code Online (Sandbox Code Playgroud)
根据这篇文章:
单击
我想sql_mode在我的中设置一个参数docker-compose.yml,因为据称这可以解决问题。
我的docker-compose.yml命令标志中有两个参数,如下所示:
version: '3.3'
services:
db:
image: mysql:8
command:
- default-authentication-plugin=mysql_native_password
- sql_mode=""
volumes:
- ./mysql-dump:/docker-entrypoint-initdb.d
restart: always
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: sqlPractice
MYSQL_USER: admin
MYSQL_PASSWORD: admin
ports:
- '7142:3306'
security_opt:
- seccomp:unconfined
Run Code Online (Sandbox Code Playgroud)
但毕竟我在启动时收到错误
db_1 | /usr/local/bin/docker-entrypoint.sh: line 363: exec: default-authentication-plugin=mysql_native_password: not found
Run Code Online (Sandbox Code Playgroud)
毕竟容器无法正常工作。
我想要实现的就是通过param indocker-compose.yml中的这两个参数配置 MySQL 实例,以使我的查询按预期工作。commanddocker-compose.yml
我将不胜感激有关如何实现目标的建议。
命令应该是:
--default-authentication-plugin=mysql_native_password
--sql_mode=
Run Code Online (Sandbox Code Playgroud)
和--
并且不能将“”作为值,--sql_mode否则会出现错误:
Error while setting value '""' to 'sql_mode'
Run Code Online (Sandbox Code Playgroud)
services:
db:
image: mysql:8
command: ['--sql_mode=', '--default-authentication-plugin=mysql_native_password']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2892 次 |
| 最近记录: |