是否有一种方法可以使mysql服务器停止,并且只在尝试连接之后才启动它。
我在我的ubuntu机器上有一个开发mysql服务器,我想让它停止,除非需要,而且我不想记住手动启动它。
如果这可以用流浪汉或码头之类的东西来解决,那也没关系。
如果服务器可以在可配置的空闲时间之后关闭,则奖励点。
我记得openshift做了这样的事情,如果没有连接,vm将被关闭,只有在尝试连接之后才能启动。
发布于 2018-10-18 22:13:36
任何MySQL客户端都将尝试连接到端口3306 (默认情况下)以建立MySQL连接。如果MySQL服务器没有运行,端口3306上就没有监听功能,所以连接就会失败。
要做您所描述的事情,需要有监听端口3306的东西。也许是某种代理,比如HAProxy或ProxySQL。也许其中之一可以配置为按需启动服务,但我从未见过有人试图这样做。
原因是启动MySQL服务器进程需要一些时间。至少几秒钟,但可能要长得多,这取决于服务器是否需要执行崩溃恢复,如果服务器上次停止时没有完全关闭的话。启动它的代理必须继续重新尝试连接,直到它响应为止。
此外,还可能无法启动被击倒的MySQL服务器,例如,如果有配置问题阻止其启动,或数据库损坏。然后,客户端会反复尝试连接,每次都会延迟一次,而且永远无法启动服务。
我想知道您真正需要的不是MySQL,而是像SQLite这样的嵌入式数据库。
https://stackoverflow.com/questions/52881705
复制相似问题