Я хочу запустить локальный экземпляр 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
До этого момента все работало. Моя база данных снабжена данными, но после выполнения одного запроса, например:
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')
Я получаю сообщение об ошибке:
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
Согласно этому сообщению: нажмите Я хочу установить параметр 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
, но в конце концов я получаю сообщение об ошибке при запуске
db_1 | /usr/local/bin/docker-entrypoint.sh: line 363: exec: default-authentication-plugin=mysql_native_password: not found
и после всего контейнеране работает должным образом.
Все, чего я хочу добиться, это настроить экземпляр MySQL через docker-compose.yml
с этими двумя параметрами в command
param в docker-compose.yml
, чтобы мой запрос работал так, как он предполагал.
Буду благодарен за предложения о том, как достичь цели.