Как выполнить команду в docker-compose с параметром command: --sql_mode="" и с привилегиями SUPER или SYSTEM_VARIABLES_ADMIN?

Как изменить значение переменной --sql_mode в MySQL при использовании docker-compose?
  • 15 сентября 2023 г. 13:26
Ответы на вопрос 1
Для выполнения команды в docker-compose с параметром `--sql_mode=""` и привилегиями SUPER или SYSTEM_VARIABLES_ADMIN, вам понадобится изменить файл конфигурации контейнера MySQL, который запускается с помощью docker-compose.

Для этого выполните следующие шаги:

1. Откройте файл docker-compose.yml и найдите раздел services, в котором определен контейнер MySQL. Обычно он выглядит примерно так:

```
services:
  mysql:
    image: mysql:latest
    ...
    environment:
      ...
    ...
```

2. Добавьте секцию `command` в определение сервиса MySQL и укажите команду и параметры, которые вы хотите выполнить. Например, так:

```
services:
  mysql:
    image: mysql:latest
    ...
    command: --sql_mode=""
    ...
    environment:
      ...
    ...
```

3. После этого перезапустите контейнер MySQL с помощью команды `docker-compose up -d`.

Теперь команда `--sql_mode=""` будет передана при запуске контейнера MySQL.

Чтобы изменить значение переменной `--sql_mode` в MySQL, вы можете использовать следующий подход:

1. Подключитесь к контейнеру MySQL с помощью команды `docker exec -it <container_id> bash`, где `<container_id>` - это идентификатор контейнера MySQL.

2. Запустите команду `mysql` для входа в интерактивный режим MySQL.

3. Используйте команду `SET GLOBAL sql_mode=""` для изменения значения переменной `--sql_mode`. Например:

```
mysql> SET GLOBAL sql_mode="";
```

4. Выходите из интерактивного режима MySQL, введя команду `exit`.

Теперь значение переменной `--sql_mode` будет изменено в MySQL в контейнере Docker.
Похожие вопросы