Я всегда использовал команду:
shutdown -r now
Однако иногда это вызывает проблемы с MySQL.
Какой самый изящный способ перезапустить CentOS?
Я видел:
reboot
а также
halt
Как я могу аккуратно перезагрузить машину?
Нет лучшего способа перезапустить ваш сервер, используя что-либо, кроме этих команд.
-r
и определенного времени (или ' now
') перезагрузит вашу систему, а не остановит ее после завершения работы.reboot
(> 2.74) будут запущены, shutdown
если не на уровне выполнения 0 или 6.В современных дистрибутивах будут рассмотрены все задачи независимо от того, какую команду вы используете. По сути, все они инициируют время выполнения ваших сценариев SysV (CentOS <7) или systemd (CentOS> = 7) (я буду называть их сценариями init для простоты чтения).
Завершение работы с помощью сценариев инициализации шаг за шагом останавливает все ваши службы, зарегистрированные под обычно уровнем запуска 'S'. Индивидуальные сценарии инициализации могут иметь время ожидания, как сценарий инициализации MySQL в CentOS. Когда задан аргумент stop и демон не будет отключен в течение достаточного количества времени, сценарий остановится и завершится, что приведет к ошибке. Процесс выключения будет продолжаться, как будто ничего не случилось, только займет немного больше времени и, вероятно, напечатает предупреждение. В конце, когда все сценарии инициализации будут выполнены, произойдет неизбежное: все процессы, которые все еще работают, получат SIGTERM
сигнал и через несколько секунд (2 или 5), a SIGKILL
. Это очистит все остальное до того, как будет сделан вызов ACPI, чтобы действительно перезагрузить или завершить работу вашей системы.
Единственное исключение - использование reboot
команды с -f
параметром, это пропустит выполнение сценариев инициализации и перезагрузит систему напрямую.
Вам будет лучше устранить основную причину ваших забот: MySQL не завершает свою работу должным образом.
Часто это происходит из-за огромного объема работы, которую необходимо выполнить, прежде чем можно будет безопасно выйти из демона. Однажды у меня был экземпляр MySQL с таблицами +300.000, на выход которого ушло более часа. Подобные проблемы могут быть обнаружены в системах, использующих огромные буферы и редкую доступность ввода / вывода.
Для корректного завершения работы Centos 6.x следует использовать команду от имени root:
shutdown -h now
Это попытается остановить все запущенные службы, прежде чем корректно завершить работу сервера.
Использование этой команды также предотвращает проблемы с сокетом mySQL.
Точно так же для изящной перезагрузки:
reboot -h now
Вы можете прочитать предыдущий ответ о подобном вопросе здесь:
shutdown -r now
, или, возможно, просто reboot
. У reboot
команды нет -h
опции.
-h
вариант? Это не на странице руководства.
reboot
обходится без -h
. Во-вторых, насколько я могу судить, это вообще не документировано.
reboot
не имеет -h
выбора, shutdown
делает.
Давая удаленные инструкции конечным пользователям и клиентам, я инструктирую их использовать poweroff
для выключения и выключения системы.
Если им нужна горячая перезагрузка, я предлагаю использовать reboot
команду.
Я полагаю, что можно сказать, что выпускCtrl-Alt-Delete
также выполняет это;)
Я использую команду «init 6».
init 6 говорит процессу init отключить все порожденные процессы / демоны, как записано в файлах init (в обратном порядке, в котором они были запущены), и, наконец, вызвать команду shutdown -r now для перезагрузки компьютера.
Более подробную информацию можно найти по этому вопросу .
Я чувствую, что вам может не понравиться этот ответ, но этот ответ включает в себя некоторые идеи, которые другие не рассматривают. , , Ты пишешь:
Я всегда использовал команду:
выключение -r сейчас
Однако иногда это вызывает проблемы с MySQL.
Проблема здесь НЕ в вашем методе выключения, а в том программном обеспечении, которое не может правильно справиться с выключением; MySql.
Единственный способ действительно решить эту проблему - заменить MySql (PostgreSql - отличная замена) ИЛИ написать свой собственный скрипт выключения, который ПЕРВЫЙ балует MySql, как ребенок, и когда он счастлив, что его закрывают, ТО выключает систему.
... Как человек, который специализируется на системах баз данных более 26 лет, я могу вам сказать, что только в очень недавние времена MySql начал действовать в отношении компетентности в наиболее важных аспектах систем баз данных. для - безопасность / целостность данных. Раньше они обращали меньше внимания на эти аспекты и больше внимания на производительность. Но что хорошего в отличной производительности, если вы потеряете данные? В НЕКОТОРЫХ приложениях, таких как, скажем, потоковая запись видео Netflix, в какой момент вы просматриваете, абсолютная точность может не иметь особого значения - может быть, даже ваши клиенты НРАВИТСЯ, что видео немного копируется после сбоя. Но в банковской системе это катастрофа эпических масштабов. Только владелец данных может знать, что им подходит.
reboot
по сути это псевдонимshutdown -r
... так ... да.sync: sync;
перед запуском,shutdown -r
чтобы все файловые операции ввода / вывода были синхронизированы. Я подозреваю, что это также прояснит проблему сmysql