Комментарии 16
Недавно поднимался такой же вопрос. Использовал Docker, проще в разы
Спорить не буду, скорее всего это действительно проще, но сам Docker уже как отдельный инструмент идет, а тут, считай, нативная реализация.
Эх. Не хочу натыкаться на хейтеров systemd, но вынужден сказать, что для запуска второго инстанса mysql при, правильно написанном unit-файле, достаточно выполнить что-то вроде:
systemctl start mysql@second
Коллега, это как-то слишком сложно.
В тот же my.cnf добавляется секция [mysqld2], в которую прописывается всё новое.
Потом создаются диры для второй бд, проводится туда mysql_install_db, а потом оба сервера рулятся методом mysqld_multi.
В тот же my.cnf добавляется секция [mysqld2], в которую прописывается всё новое.
Потом создаются диры для второй бд, проводится туда mysql_install_db, а потом оба сервера рулятся методом mysqld_multi.
Для того, чтобы начать «рулить» несколькими экземплярами DB с помощью mysqld_multi, нужно сначала останавливать экземпляр, что запущен. Иногда остановка mysql-сервера сама по себе критична, а нужно что-то быстро развернуть, отдать какие-то данные, а потом свернуть (например, достать нужную базу и поработать с ней из бэкапа).
может я что-то не понимаю, но в какой ситуации потребуется подобное действие?
Не проще ли вынести второй сервер на отдельную машину?
Не проще ли вынести второй сервер на отдельную машину?
Согласен. Имхо такое может быть только обосновано указом «сверху» экономить ресурсы (читай ценой производительности))
Не согласен. Разворачивание многих инстансов на одном сервере очень полезно если это будут слейвы для бекапа данных основных баз. У меня это все сделано правда в отдельных виртуалках KVM на одной машине, все никак руки не дойдут запустить на одной для экономии ресурсов (в первую очередь диска).
а смысл в бекапах на одной машине? уж лучше вынести слейв на другую физическую и уже там делать бекапы. иначе физически грохается винт на сервере — и все, придется разворачивать новый сервер и на него накатывать бекапы. в случае с слейвом на другой физической машине просто переназначаем его и все, простоя почти нет
Наверное неверно выразился.
На отдельной машинке развернуть ТОЛЬКО слейвы к основным базам. И они уже бекапятся через bacula в хранилище.
В итоге получается двойная защита: слейв с моментальным моментом состояния и периодичный бекап бакулы. Это сильно помогло нам когда рухнули серверы с основными базами.
Простое переключение не всегда помогает к сожалению. Бекапим с ДЦ в офис.
На отдельной машинке развернуть ТОЛЬКО слейвы к основным базам. И они уже бекапятся через bacula в хранилище.
В итоге получается двойная защита: слейв с моментальным моментом состояния и периодичный бекап бакулы. Это сильно помогло нам когда рухнули серверы с основными базами.
Простое переключение не всегда помогает к сожалению. Бекапим с ДЦ в офис.
шел год 2015, человечество уже давно придумало для решения такого рода задач контейнеры (openvz, lxc, libcontainer, rocket, virtuozzo, pcs, freebsd jails, solaris zones и т.д. )
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Запуск двух и более инстансов MySQL на одном Linux-сервере