获取MySQL阻止所有新的连接,但兑现现有的连接准备停止服务

我正在寻找一种方法来获得MySQL(实际上是MariaDB)阻止所有新的连接,但兑现现有的。 我打算在将服务器closures以进行维护之前将此限制置于原地。 我设想的过程如下:

  1. 阻止新的连接
  2. 等到现有连接全部完成
  3. 有办法检查他们都完成了
  4. 把服务器closures
  5. 执行维护
  6. 将服务器备份

我在想可能可以用max_connections来完成,但我仍然需要能够连接来确定所有的进程已经完成。 或者你可以改变服务器将在不重启的情况下侦听的IP地址? 或者也许可以通过阻止用户来完成,但是这是与Galera集群复制,所以我只想要这影响单个节点。

谢谢你的帮助。

从负载均衡器更换IP会更容易 – 状态完整的连接将完成,新的将被redirect到其他MySQL服务器。 当在MySQl服务器上看不到任何必须维护的连接时,更改IP,重新启动服务器,然后将服务器添加回HA。 请检查这个解决scheme真的取决于环境