Рубрики
Uncategorized

Как запустить разные версии MySQL на одном и том же сервере

Вот быстрое руководство по тому, как вы можете запустить разные версии MySQL на вашем компьютере Ubuntu с помощью Docker.

Автор оригинала: Arpit Bhayani.

Несколько версий MySQL работает на одном сервере

Существует множество ситуаций, когда требуется, где вам нужно запустить несколько экземпляров MySQL на одном компьютере.

Некоторые ситуации:

  • Проверьте новый релиз MySQL, оставляя существующую настройку производства, ненужно
  • Дайте разные пользователи доступ к другому MySQLD серверы, которые они управляют собой

Эта проблема

У меня есть машина с 5 продуктами, уже установленными. Все продукты используют MySQL 5.5 в качестве базы данных по умолчанию. Теперь пришло время обновить все, кроме одного продукта, чтобы использовать MySQL 5.6. В таблице ниже приведены требования до и после версии MySQL для различных продуктов. Глядя на стол, мы обнаруживаем, что все продукты, кроме продукта C, хотят использовать MySQL 5.6.

Продукт А. MySQL 5.6 MySQL 5.5.
Продукт Б. MySQL 5.6 MySQL 5.5.
Продукт C. MySQL 5.5. MySQL 5.5.
Продукт D. MySQL 5.6 MySQL 5.5.
Продукт E. MySQL 5.6 MySQL 5.5.

Поскольку все, кроме одного продукта требуют MySQL 5.6, давайте сначала установим его, а затем мы будем работать, чтобы выяснить способ установки MySQL 5,5.

Установка MySQL 5.6.

sudo apt-get update
sudo apt-get install mysql-server-5.6 mysql-server-core-5.6 mysql-client-5.6 mysql-client-core-5.6

На данный момент у нас есть MySQL 5.6, слушая в порту 3306 (Порт по умолчанию)

Подход к решению

Есть несколько подходов, с которыми вы можете добиться нескольких версий MySQL, работающих на одной машине. Некоторые из них

  • Используйте двоичные файлы конкретной версии
  • Построить все из источника MySQL

Вопросы выше подходов:

Очевидно, что мы можем иметь только одну версию MySQL Setup на машине, используя процедуру установки по умолчанию с APT-Get Отказ Следовательно, если мы попытаемся установить одну версию по другому, она заменит первую версию и сохранит вторую версию. Таким образом, мы не можем иметь 2 версиях MySQL с использованием процедуры установки по умолчанию.

Создание всего с нуля включает много осложнений на уровне источника. Чтобы отладить любые проблемы, которые могут возникнуть, вы должны знать, что происходит в различных сценариях/командах, которые вы запускаете. Я проводил день в здании из источника, но в конечном итоге оказалось полной тратой времени, усилий и отладки.

Докер к спасению

Если бы у нас был контейнер, в котором у нас установлено MySQL 5.5, и если мы сможем опубликовать порту (ы) контейнера к хосту, то мы можем подключиться к MySQL контейнера, как и локальная база данных.

Мы можем иметь все вышеперечисленное с Докер Отказ Если вы не знаете, что такое Docker, пожалуйста, прочитайте этот официальный Документация Отказ

Установка докера

Чтобы установить Docker на вашу машину, выполните следующую команду на своей оболочке.

curl -sSL https://get.docker.com/ | sh

Свернуть выключение контейнера MySQL 5.5

Выполнить следующую команду; Это будет загружать изображение MySQL 5.5 и раскрутит контейнер. Этот контейнер будет иметь MySQL 5.5, установленный на порту 3306 Отказ Но на хост-машине, порт 3310 будет перенаправлен.

sudo docker run --name mysql-55-container -p 127.0.0.1:3310:3306 -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:5.5

ЗАМЕТКА: Пароль для пользователя root пароль root ; Вы можете изменить его на что-нибудь.

Подключиться к MySQL 5.5

mysql -u root -p --host=127.0.0.1 --port=3310

Подключиться к MySQL 5.6

mysql -u root -p

И VOILA! У вас есть мой SQL 5.5 и MySQL 5.6, установленный и работает на одном компьютере.

Теперь вы можете настроить свой прикладной продукт C, чтобы использовать хост 127.0.0.1 и порт 3310 И, таким образом, у вас есть продукты A, B, D и E, работающие на MySQL 5.6 и продукта C, работающие на MySQL 5.5.

Оригинал: «https://www.codementor.io/@arpitbhayani/setup-multiple-mysql-servers-with-different-versions-docker-du107solq»