Введение


MySQL — свободная реляционная система управления базами данных. У пользователей ISPmanager  появилась возможность установить несколько альтернативных версий MySQL на одном сервере в дополнение к дефолтной. Это стало возможным с использованием контейнерной виртуализации Docker

Системные требования


Поддерживаемые операционные системы: CentOS 7, Ubuntu 18, Debian 8 и выше.

Для успешного разворачивания Docker количество оперативной памяти на сервере должно быть не менее 2 Гб.

Системы виртуализации OpenVZ и LXC не поддерживаются.

Установка альтернативного MySQL сервера


Для появления возможности установки в Business-версии панели (помимо выполнения основных системных требований) необходимо будет иметь хотя бы один узел кластера с ролью MySQL-сервер.
В боковом меню выберите пункт Установка MySQL, который находится в группе Настройки кластера

Вы увидите форму установки альтернативных версий:

Выберите одну или несколько версий MySQL и нажмите кнопку Установить. Выбранные версии будут установлены как на все имеющиеся узлы кластера с ролью MySQL-сервер, так и на все подключенные в будущем

Установка Docker производится во время установки на сервер первой альтернативной версии MySQL.

Создание базы данных


После того, как сервер полностью установится, будет настроен и появится в общем списке серверов, для создания базы данных пройдите в Инструменты->Базы данных. При создании базы, просто выберите из списка серверов имя Вашего нового сервера.

Технология


Все альтернативные MySQL-серверы разворачиваются внутри "контейнеров", которые представляют из себя обособленную среду. Данные каждого контейнера

хранятся в отдельной директории /var/lib/имя_сервера. Созданием и работой с контейнерами занимается Docker, в его же репозиториях хранятся и

устанавливаемые версии MySQL.

Процесс установки контейнера:

  • Создание директории для контейнера (/var/lib/имя_сервера)
  • Загрузка выбранной версии MySQL из репозитория
  • Выбор свободного порта для проброса из контейнера (первый свободный порт начиная с 3310)
  • Настройка сервера и установка пароля для пользователя root

Обновление контейнеров


Каждый контейнер создается на основе определенного образа, хранящегося в репозитории докера, которые периодически обновляются. Так как в данный момент, в панели поддерживаются только mysql-контейнеры, запуск обновления был вынесен нами на форму управления серверами баз данных. Запуск обновления контейнеров может быть отложен. Для этого на форме обновления контейнеров достаточно установить галочку Отложенный запуск и выбрать удобное время. В момент проверки возможности обновления контейнеров, все образы будут заново скачаны из репозиториев докера. Их версии будут сравнены с версиями образов контейнеров. Каждый контейнер с устаревшим образом будет обновлен.