我正在寻找一种让 MySQL(实际上是 MariaDB)阻止所有新连接但尊重现有连接的方法。我打算在关闭服务器进行维护之前实施此限制。我设想的过程如下:
- 阻止新连接
- 等到现有连接全部完成
- 有办法检查它们是否都已完成
- 关闭服务器
- 执行维护
- 让服务器备份
我在想可能可以完成,max_connections
但我仍然需要能够连接以确定所有进程都已完成。或者您可以更改服务器将在不重新启动的情况下侦听的 IP?或者也许可以通过阻止用户来完成,但这是使用 Galera 复制的集群,所以我只希望这影响单个节点。
谢谢你的帮助。
从负载平衡器更改 IP 会更容易 - 状态完全连接将完成,新连接将被重定向到另一个 MySQL 服务器。当您在 MySQl 服务器上看不到任何必须维护的连接时,更改 IP,重新启动服务器,将服务器添加回 HA。请检查这个,因为这个解决方案真的取决于环境