让 mysql 阻止所有新连接,但尊重现有连接,为退出服务做好准备

让 mysql 阻止所有新连接,但尊重现有连接,为退出服务做好准备

我正在寻找一种方法让 MySQL(实际上是 MariaDB)阻止所有新连接但尊重现有连接。我打算在关闭服务器进行维护之前实施此限制。我设想的过程如下:

  1. 阻止新连接
  2. 等待所有现有连接完成
  3. 有办法检查它们是否都完成了
  4. 关闭服务器
  5. 执行维护
  6. 恢复服务器

我在想也许可以做到这一点,max_connections但我仍然需要能够连接以确定所有进程都已完成。或者您可以在不重新启动的情况下更改服务器将侦听的 IP?或者也许可以通过阻止用户来完成,但这是使用 Galera 进行集群复制的,所以我只希望这会影响单个节点。

感谢您的帮助。

答案1

更改从负载均衡器获取的 IP 会更容易 - 状态完整连接将完成,新连接将重定向到其他 MySQL 服务器。当您在 MySQl 服务器上看不到任何必须维护的连接时,更改 IP,重新启动服务器,将服务器重新添加到 HA。请检查这一点,因为此解决方案确实取决于环境

相关内容