Несколько версий SQL с Docker

Я пытаюсь найти способ сохранить мои действительные базы данных MySQL 5.5 на моем сервере Ubuntu (который используется для большинства моих сайтов в Apache2) и установить другой экземпляр MySQL 8.0 на том же сервере (для некоторых других сайтов). ).

Я читал в Интернете, что Docker может быть хорошей идеей, поэтому я мог установить MySQL 8.0 на докер. Дело в том, что я не знаю, является ли это лучшим вариантом, так как на самом деле я не знаю докера.

Итак, я спрашиваю вас, как вы думаете, запуск докера - лучший план здесь? А если нет, у вас есть идея получше?

Я боюсь, что докер может переопределить мою версию 5.5 при установке на докер ...

Я также нашел опцию dbdeployer, но, похоже, это то же самое.

Спасибо за вашу помощь!

1
задан 2 May 2019 в 16:46

2 ответа

Итак, я спрашиваю вас, как вы думаете, запуск докера - лучший план здесь?

Нет

А если нет, у вас есть идея получше?

Используйте общее представление о том, что считается методом при выполнении этого: в основном вы устанавливаете mysql для каждой версии, которая вам нужна, в другой каталог, и поскольку мы говорим об установках сторонних производителей, я бы выбрал [ 111], поскольку это является целью, предназначенной для такого рода установок.

Для mysql это будет

/opt/mysql-5.5
/opt/mysql-5.5.1
/opt/mysql-5.6
/opt/mysql-8.0

Вы создаете всю конфигурацию внутри этих каталогов (поэтому my.cnf внутри этих каталогов, так что у вас есть 1 на установку; если вы хотите запустить их все на в то же время вам нужен сокет и порт для каждого экземпляра mysql).

С помощью символической ссылки на двоичный файл в каталогах версий на /opt/mysql вы также можете переключаться между различными версиями.

Способ сделать это более сложным, хотя. См., Например, сайт percona , где они используют /opt/ для ручной установки или openark.org , где они используют /usr/local/ (мне тоже нравится этот метод, хотя он не использует /opt ]).

0
ответ дан 2 May 2019 в 16:46

Запуск MySQL в Docker был бы безопасным способом достижения того, что вы хотите сделать, он не будет ничего делать с вашим существующим экземпляром MySQL.
Вы можете запустить MySQL 8.0 на другом порту в экземпляре Docker.
Вот как вы можете это сделать
При выполнении docker run вы можете передать это команде, чтобы переназначить порт 3306 внутри контейнера на 3307, чтобы ваше приложение могло подключиться к MySQL. 8.0 экземпляр.
docker run --name=mysql1 -d mysql/mysql-server:tag -p 3307:3306 как указано здесь
Вы также можете выбрать запуск MySQL 8.0 из локального каталога данных и локального файла my.cnf, созданного вами, если вы хотите чтобы оптимизировать установку mysql, см. здесь .

Примечание. Не используйте каталог данных, который используется в вашем текущем MySQL 5.5 с использованием (/ var / lib / mysql по умолчанию) Создайте новый каталог для каталога данных MySQL 8.0 и нового файла my.cnf.

Вы также можете попробовать то, что предложил Ринзвинд, это также хороший способ запустить его.

Надеюсь, это поможет.

0
ответ дан 2 May 2019 в 16:46

Другие вопросы по тегам:

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