Я пытаюсь найти способ сохранить мои действительные базы данных MySQL 5.5 на моем сервере Ubuntu (который используется для большинства моих сайтов в Apache2) и установить другой экземпляр MySQL 8.0 на том же сервере (для некоторых других сайтов). ).
Я читал в Интернете, что Docker может быть хорошей идеей, поэтому я мог установить MySQL 8.0 на докер. Дело в том, что я не знаю, является ли это лучшим вариантом, так как на самом деле я не знаю докера.
Итак, я спрашиваю вас, как вы думаете, запуск докера - лучший план здесь? А если нет, у вас есть идея получше?
Я боюсь, что докер может переопределить мою версию 5.5 при установке на докер ...
Я также нашел опцию dbdeployer, но, похоже, это то же самое.
Спасибо за вашу помощь!
Итак, я спрашиваю вас, как вы думаете, запуск докера - лучший план здесь?
blockquote>Нет
А если нет, у вас есть идея получше?
blockquote>Используйте общее представление о том, что считается методом при выполнении этого: в основном вы устанавливаете 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
]).
Запуск 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.
blockquote>
Вы также можете попробовать то, что предложил Ринзвинд, это также хороший способ запустить его.
Надеюсь, это поможет.