Mysql kubernetes 上的服务器不会重启

Mysql server on kubernetes wont restart

我正在尝试重新启动我的 mysql 服务器。服务器位于 Kubernetes/fedora 容器上。我尝试使用#/etc/init.d/mysqld restart 和#systemctl restart mysqld。问题是 init.d 中没有文件。 当运行 # /etc/init.d/mysqld restart bash 说No such file,显然是因为没有那个文件。当 运行 # systemctl restart mysqld 它响应 "bash: systemctl: Command not found" mysql-servier 运行 正常,我可以登录它,但我无法重新启动它。请帮忙。

The mysql-servier is running fine and i can log into it, however i cant restart it.

您有 2 个选项,并且都有 'dangers' 地址:

  • 更有可能的是,容器是使用 docker 图像中给出的 CMD 或 kubernetes 清单中的 command 指令启动的,这实际上是启动您的 mysql.在这种情况下,无论您设法终止(在重新启动期间)该容器上 mysql 的 运行 实例的方式如何,您也将终止整个容器。然后 Kubernetes 将重新启动该容器或整个 pod。

  • 不太可能,但可能是容器是用其他一些 'main' 命令启动的,而 mysql 作为单独脚本的一部分启动。在这种情况下,检查 docker 文件或 kubernetes 清单将为您提供有关 start/stop 过程的详细信息,并且只有在这种情况下,您才能重新启动 mysql 而无需实际杀死它所在的容器 运行 .

危险:数据持久化。如果您没有适当的数据持久性,杀死 运行 容器(通过重启或刷新)也会破坏任何临时数据。

补充说明:您是否尝试过 service mysql statusservice mysql restart

要在 Kubernetes 上重启服务器,您只需使用 kubectl delete pod <id> 删除 pod。如果您不是手动创建 pod,而是使用 deployment,它会重新启动并自动恢复在线状态。

删除 pod 是关闭服务器的正确方法。首先,Kubernetes 将发送 mysql 一个 TERM 信号,礼貌地要求它关闭。然后在一段时间后(可配置)如果它不符合,它会用 KILL 射击它。