我在 google SQL 上创建了一个 MySQL 5.7 实例,从第一天起,不知何故,我一直有 4/5 个活动连接。
这些连接肯定不是我创建的,而且据我所知,即使不是我使用 SQL 实例,我也必须为这些使用付费。我确实设置了每日备份,但它们每天发生一次,我不明白为什么 Google 提供的备份机制会一直连接到 MySQL 实例。
对此该怎么办?或者这只是其中的一部分?
诊断。
我已经使用 MySQLWorkbench 运行了以下命令。
答案1
经过一番挖掘,我找到了一个describe
命令,其中说明了有关实例的所有设置:gcloud sql instances describe {instanceName}
。在这里,在设置下,我看到我的激活策略设置为始终activationPolicy: ALWAYS
,这意味着我的实例始终在运行。
经过进一步阅读,我了解到谷歌保持实例活跃,并且那些活动连接与此相关。
按需使用并不是谷歌提供的服务 -https://issuetracker.google.com/issues/69109113#comment77
答案2
为了帮助诊断情况,请运行以下命令:
SHOW PROCESSLIST; -- Will show processes (including background threads)
SHOW GLOBAL STATUS LIKE 'Threads_running'; -- num procs actually running
SHOW GLOBAL STATUS LIKE 'Max_used_connections'; -- highwater mark
(我不知道上面的哪一个映射到“活动连接”;我需要备份 MySQL 的想法才能提供帮助。)
(可能是 Google 已将代码添加到 MySQL;因此无法帮助您。)
不管怎样,神秘-5 可能并不是太重要。
更多的
这些屏幕截图没有显示任何活动。
“睡眠”连接导致很少开销;不用担心。观察(通过反复执行 SHOW PROCESSLIST)它们的“时间”;您可能会发现它们增加到 30,然后重置为 0。这意味着它们每 30 秒执行一次。而且,由于您可能错过了它们所做的事情,所以速度相当快。我猜是一些监控查询——这对你有利。