Переменные, которые я вижу в MySQL, не соответствуют тому, что я вижу в моем docker-compose - PullRequest
0 голосов
/ 29 мая 2019

Я использую docker-compose для настройки экземпляра mysql с настроенным файлом конфигурации.

Вот что у меня в файле:

version: '3.7'

services:
  db:
    build: ./db
    command: mysqld --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - mysql_data:/var/lib/mysql
      - $HOME/infrastructure/config/:/etc/mysql/conf.d
volumes: 
  mysql_data:

Когда я собираю контейнер и подключаюсь к своей базе данных через MySQL, я не вижу правильных переменных, совпадающих с тем, что я вижу в Docker. Я подключился к Bash в своем контейнере mysql и выполнил: «mysqld --verbose --help», и я вижу, что переменные совпадают с моим файлом конфигурации, но не с моим рабочим столом mysql.

Я использую MySQL 8.0.

Редактировать: После запуска 'переменных mysqladmin' в bash я понял, что переменные не соответствуют моему файлу my.cnf.

Любая помощь будет высоко ценится. Спасибо!

1 Ответ

0 голосов
/ 30 мая 2019

Все хорошо, и я думаю, что это ответит на ваш вопрос:

  • Файл должен иметь расширение ".cnf", иначе он будет игнорироваться.
  • В mysql 8.0 изменен синтаксис режима sql:
[mysqld]
sql-mode="modes"

Вы также можете использовать --sql-mode = "" непосредственно в команде docker.

...