Запуск команды sql внутри запущенного контейнера docker

при запуске проекта каждый раз приходится заходить в контейнер mysql и делать настройки:

docker exec -it mysql_1 bash
mysql -u root -p12345
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Как вызвать эти изменения при запуске или через конфиг сборки образа?

Сборка в docker-compose файле

mysql:
  image: mysql:5.7
  ports:
    - "14306:3306"
  environment:
    XDEBUG_CONFIG: remote_host=172.17.0.1
    DOCKER_HOST: tcp://localhost:4243
    MYSQL_DATABASE: test_db
    MYSQL_USER: root
    MYSQL_PASSWORD: 12345
    MYSQL_ROOT_PASSWORD: 12345
  volumes:
    - ./data/mysql:/var/lib/mysql
    - ./data/back:/var/back
  networks:
    - internal

Ответы (1 шт):

Автор решения: DmitryD

Добавьте к сервису mysql параметр с командой внутри. Пример:

mysql:
  ...
  command: sh -c 'mysql -u root -p12345 -Q "SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))"'
  ...
→ Ссылка