@nottobacco

Как избавиться от ошибки с кодировкой при создании контейнера?

Ситуация следующая. Через docker-compose создаю контейнер на основе официального образа последней версии MySQL с командой command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci.

Но подключаюсь к БД через Workbench и вижу, что у БД установлена правильная кодировка utf8mb4, а вот дефолтное сравнение — utf8mb4_0900_ai_ci вместо ожидаемого utf8mb4_unicode_ci, а команда mysql> show charset в числе прочих кодировок выводит строку utf8mb4 | UTF-8 Unicode | utf8mb4_0900_ai_ci | 4.

Как заставить запускаться контейнеры в нужной кодировке и сравнении?
  • Вопрос задан
  • 691 просмотр
Пригласить эксперта
Ответы на вопрос 1
@hx510b
"Я знаю, что ничего не знаю"
Попробуйте добавить в конфиг файл mysql, например так:
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
collation-server=utf8mb4_unicode_ci

Чтобы прокинуть конфиг во внутрь docker образа используйте опцию -v
-v /local/path/to/hosts/config/collation.conf:/etc/my.cnf.d/collation.conf
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы