gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 11:36:37 25 4
gpt4 key购买 nike

我一直是 WHM/Cpanel 的支持者,所以每当需要优雅地重新启动服务器时,我就使用 WHM 中的 gui 命令来执行此操作。

现在,我遇到了一种情况,我没有 WHM/Cpanel,需要在 ssh 登录后从命令行执行相同的操作。这是 vpc (VMware) 内的虚拟机,专用于 MySQL/MariaDB运行centos。最近通过yum更新了内核,需要重启才能生效。

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

# reboot
or
# shutdown -r

我主要关心的是:

  1. 根据我的情况使用正确的命令
  2. 这个虚拟机严格适用于我们使用innodb的数据库,当然MySQL本身也使用myisam。我想做的最后一件事是在重新启动时导致数据损坏并且我们的数据库无法运行。是否 reboot处理这个问题还是我应该做 service mysql stop重启之前?除此之外,它会在重新启动后自动重新启动还是service mysql start会被需要吗?

最佳答案

这两个命令都会在关闭和/或重新启动时调用所需的运行级别。

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 也不是您想要的。这样做是不好的,因为它不会通过初始化脚本优雅地停止服务,并且您可能最终会导致数据丢失和/或损坏。

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

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

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

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

然后您将收到服务已停止的确认信息。然后您可以发出 rebootshutdown -r now 命令。

启动时,它应该重新启动所有服务(例如您的数据库),前提是它们安装正确。您可以通过运行以下命令 chkconfig --list 来检查这一点,然后在列表中查找您感兴趣的内容,您应该会看到它们在运行级别 3 处“启动”并在运行级别 3 处“停止”在运行级别 6。

例如

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

关于mysql - 从命令行在 CentOS 上正常重启(担心数据库损坏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36483068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com