Я ищу способ заставить MySQL (на самом деле MariaDB) блокировать все новые соединения, но уважать существующие. Я намерен ввести это ограничение, прежде чем отключать сервер для обслуживания. Я представляю себе этот процесс следующим образом:
Я думаю, что, возможно, это можно сделать с max_connections
но мне все равно нужно иметь возможность подключиться, чтобы определить, что все процессы завершены. Или вы можете изменить IP-адреса, которые сервер будет слушать без перезагрузки? Или, может быть, это можно сделать, заблокировав пользователя, но это кластер, реплицированный с помощью Galera, поэтому я бы хотел, чтобы это повлияло только на один узел.
Спасибо за вашу помощь.
Было бы проще изменить IP-адрес от балансировщика нагрузки - полное состояние соединений будет завершено, а новые будут просто перенаправлены на другой сервер MySQL. Если вы не видите больше подключений на сервере MySQl, которые необходимо поддерживать, измените IP-адрес, перезапустите сервер, снова добавьте сервер в HA. Пожалуйста, проверьте это, так как это решение действительно зависит от окружающей среды.