MySQL автоматический запуск при попытке подключения - PullRequest
0 голосов
/ 18 октября 2018

Есть ли способ сохранить сервер MySQL остановленным и запускать его только после попытки подключения.

У меня есть сервер разработки MySQL на моей машине с Ubuntu, и я хотел бы, чтобы он был остановленесли не нужно, и я не хочу помнить, чтобы запустить его вручную.

Это нормально, если это можно решить с помощью чего-то вроде vagrant или docker.

Бонус, если сервер может бытьзавершите работу после настраиваемого количества простоя.

Я помню openshift сделал что-то подобное, если не были установлены подключения, vm был бы отключен и запущентолько после того, как к нему была предпринята какая-то связь.

1 Ответ

0 голосов
/ 19 октября 2018

Любой клиент MySQL будет пытаться подключиться к порту 3306 (по умолчанию), чтобы установить соединение MySQL.Если сервер MySQL не запущен, на порту 3306 ничего не прослушивается, поэтому соединение просто не будет установлено.

Чтобы сделать то, что вы описываете, должно быть что-то прослушиванияпорт 3306. Возможно, прокси какой-то, например HAProxy или ProxySQL .Возможно, один из них можно настроить для запуска службы по требованию, но я никогда не видел, чтобы кто-либо пытался это сделать.

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

Также существует вероятность того, что сбойный сервер MySQL не может быть запущен, например, если есть проблема с конфигурацией, которая мешает его запуску, или поврежденная база данных.Тогда ваш клиент будет пытаться повторно подключаться, с задержкой каждый раз, и никогда не сможет запустить службу.

Интересно, действительно ли вам нужен не MySQL, а встроенная база данных, такая как SQLite?.

...