我一直使用以下命令:
shutdown -r now
但是,有时会导致MySQL问题。
重新启动CentOS的最优雅的方法是什么?
我见过:
reboot
和
halt
如何轻轻重启机器?
sync: sync;
之前运行,shutdown -r
以便所有文件I / O都将同步。我怀疑这也会解决以下问题:mysql
我一直使用以下命令:
shutdown -r now
但是,有时会导致MySQL问题。
重新启动CentOS的最优雅的方法是什么?
我见过:
reboot
和
halt
如何轻轻重启机器?
sync: sync;
之前运行,shutdown -r
以便所有文件I / O都将同步。我怀疑这也会解决以下问题:mysql
Answers:
除了使用这些命令,没有比使用其他任何方法更好的重启服务器的方法了。
-r
和特定时间(或' now
')将重新启动系统,而不是在关闭序列后将其暂停。reboot
则将启动新版本(> 2.74)shutdown
。无论您使用什么命令,现代发行版都将涵盖所有任务。基本上,它们都会启动SysV(CentOS <7)或systemd(CentOS> = 7)脚本的关闭运行时(为便于阅读,我将它们称为init脚本)。
使用初始化脚本逐步关闭,可以停止通常在运行级别 'S' 下注册的所有服务。个别的初始化脚本可能会有超时,例如CentOS中的MySQL初始化脚本。当给出stop参数并且守护程序在相当长的时间内不会关闭时,脚本将停止并退出并给出失败信息。关闭过程将继续进行,就好像什么都没错,只需要更长的时间,并且可能会显示警告。最后,当所有初始化脚本都执行完后,不可避免的事情发生了:所有仍在运行的进程将收到一个SIGTERM
信号,并在几秒钟(2或5)后得到一个信号SIGKILL
。在完成ACPI调用以真正重新引导或关闭系统之前,这将清除其余部分。
一个例外是使用reboot
带有该-f
选项的命令,这将跳过执行初始化脚本并直接重新引导系统。
最好解决您的担心的根本原因:MySQL无法正确关闭。
通常这是由于在安全退出守护程序之前需要完成大量工作。我曾经有一个带有+300.000表的MySQL实例,该过程花了一个多小时才退出。对于使用大量缓冲区和稀疏I / O可用性的系统,也会发现类似的问题。
可以通过以超级用户身份使用命令来正常关闭Centos 6.x:
shutdown -h now
这将尝试在正常关闭服务器之前停止所有正在运行的服务。
使用此命令还可以防止mySQL套接字问题。
同样,要正常重启,请执行以下操作:
reboot -h now
您可以在此处阅读有关类似问题的先前答案:
shutdown -r now
,也许只是reboot
。该reboot
命令没有-h
选项。
-h
选项有什么作用?它不在手册页中。
reboot
做无 -h
。第二,据我所知,根本没有那样记录。
reboot
没有-h
选择,shutdown
没有。
在向最终用户和客户提供远程指导时,我指示他们使用poweroff
以关闭系统并关闭电源。
如果他们想要热重启,我建议他们使用reboot
命令。
我想可以说发行Ctrl-Alt-Delete
也可以做到这一点;)
我觉得您可能不喜欢此答案,但是此答案包含一些其他人都没有考虑的见解。。。你写:
我一直使用以下命令:
立即关闭-r
但是,有时会导致MySQL问题。
这里的问题不是您的关机方法,而是无法正确处理关机的软件;MySQL的。
真正解决此问题的唯一方法是替换MySql(PostgreSql是一个很好的替代方法),或者编写自己的关闭脚本,让FIRST像婴儿一样拥抱MySql,然后在很高兴被关闭时关闭系统。
...作为一个从事数据库系统工作超过26年的人,我可以告诉您,直到最近,MySql才开始在有关数据库系统最重要方面的能力方面采取行动。对于-数据安全性/完整性。以前,他们很少关注这些方面,而更多地关注性能。但是,如果丢失数据,那么出色的性能有什么好处呢?在某些应用程序上,例如Netflix在您正在观看的点上流式传输视频记录时,绝对保真度并不是特别重要-甚至,即使您的客户也喜欢在发生故障后备份视频。但是在银行系统中,这是史诗般的灾难。只有数据所有者才能知道什么是适合他们的。
reboot
本质上是shutdown -r
...所以... 的别名。