从命令行在CentOS上正常重启(担心数据库损坏)

时间:2016-04-07 17:18:05

标签: mysql centos mariadb restart reboot

我一直都是WHM / Cpanel的家伙,所以每当需要优雅地重新启动服务器时,我只是在WHM中使用了gui命令。

现在,我遇到的情况是我没有WHM / Cpanel,并且需要在ssh进入之后从命令行执行相同操作。这是vpc(VMware)中的vm,专用于MySQL / MariaDB运行centos。内核最近通过yum更新,需要重新启动才能生效。

我在搜索时发现了很多不同意见,比如做一些简单的事情:

# reboot
or
# shutdown -r

我主要担心的是:

  1. 为我的情况使用正确的命令
  2. 这个vm严格用于我们使用innodb的数据库,但当然MySQL本身使用myisam。我想要做的最后一件事是在重启时最终导致数据损坏,我们的数据库不起作用。 reboot是否会处理此问题,或者我应该在重新启动之前执行service mysql stop?除此之外,它会在重启后自动重启还是需要service mysql start

1 个答案:

答案 0 :(得分:1)

两个命令都会在关机时调用所需的运行级别,或者以任何方式重启。

shutdown -rreboot是相同的事情,只要你打电话给他们'原样'没有其他选择。

shutdown -r now = reboot after shutdown.
reboot = shutdown then reboot

从使用帮助中摘录;

[root@test ~]# reboot --help
usage: reboot [-n] [-w] [-d] [-f] [-h] [-i]
        -n: don't sync before halting the system
        -f: force halt/reboot, don't call shutdown.

请注意,如果您调用shutdown -f,它将强制暂停/重启,而不是调用shutdown,同样-n不是您想要的。这样做很糟糕,因为它不会通过init脚本优雅地停止服务,并且您可能最终导致数据丢失和/或损坏。

[root@test~]# shutdown --help
Usage:    shutdown [-akrhHPfnc] [-t secs] time [warning message]
          -r:      reboot after shutdown.

您可能已经注意到CentOS启动时它会运行一系列服务并尝试启动它们。在关闭和重新启动(通常)时,相同的列表会优雅地调用stop服务。

如果您对数据库非常偏执,并希望在重新启动之前确定它们已被停止,那么您可以直接发出stop命令。

`/etc/init.d/mysql stop`
`/etc/init.d/mariadb stop`

然后,您将确认服务已停止。然后,您可以发出rebootshutdown -r now命令。

启动时,如果安装正确,则应重新启动任何服务(如Db&#39)。您可以通过运行以下命令chkconfig --list来检查这一点,然后在列表中查看您感兴趣的内容,并且您应该看到它们“开始”#39;在第3阶段和#3;停止'在运行级别6。

e.g

chkconfig --list
mysqld          0:off   1:off   2:off   3:on    4:off   5:off   6:off