Введение


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

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


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

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

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

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


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

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

Выбор версии

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

В данный момент поддерживаются следующие версии:

  • MySQL 5.5

  • MySQL 5.6

  • MySQL 5.7

  • MySQL 8.0

  • Mariadb 10.0

  • Mariadb 10.1

  • Mariadb 10.2

  • Mariadb 10.3

  • Mariadb 10.4

  • Mariadb 10.5

  • Mariadb 10.6

  • Percona Server for MySQL 5.6

  • Percona Server for MySQL 5.7

  • Percona Server for MySQL 8.0

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

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


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

Пример создания

Технология


Все альтернативные MySQL-серверы разворачиваются внутри "контейнеров", которые представляют из себя обособленную среду. Данные каждого контейнера хранятся в отдельной директории /var/lib/имя_сервера. Созданием и работой с контейнерами занимается Docker, в его же репозиториях хранятся и устанавливаемые версии MySQL.

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

  • Создание директории для контейнера (/var/lib/имя_сервера)

  • Загрузка выбранной версии MySQL из репозитория

  • Выбор свободного порта для проброса из контейнера (первый свободный порт начиная с 3310)

  • Настройка сервера и установка пароля для пользователя root

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


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