저는 데비안 10 버스터를 사용하고 있습니다.
이 init.d 스크립트에 무슨 문제가 있는지 이해가 안 되나요? 서버가 다운되면 실행되지 않는 경우도 있습니다.
서버가 error_log
실패할 경우 SIGHUP
다음은 이 동작을 설명하는 링크입니다.SIGHUP 신호에 대한 MySQL 서버 응답
이 init.d 스크립트/etc/init.d/mysql제가 사용하고 있는 것은 직접적으로MySQL 공식 릴리스 deb제가 직접 약간의 수정을 가했는데, 그 내용이 파일에 기록되어 있습니다.
이것은소스 mysql-helpers 파일init.d 스크립트에서 참조됩니다.
실행 중 MySQL 중지/시작/다시 시작안 돼요SIGHUP이 생성되지만 로그 정보 없이 스크립트가 차단되는 경우가 있습니다. .pid가 사라졌지만 MySQL이 자동으로 시작되지 않았습니다.
답답한 부분은때때로종료하면 실행되지만 때로는 실행되지 않습니다. 75%는 실행되지 않고 25%는 실행됩니다.
질문의 또 다른 부분은 다음과 같습니다.Debian 10에서 MySQL 5.7.37에 대해 작동하는 init.d 스크립트를 어디서 찾을 수 있는지 아는 사람이 있나요?
답변1
데몬을 관리하기 위해 systemd를 사용해 보는 것은 어떨까요? 데비안 Jessie 이후로 더 쉽고 사용 가능합니다. /etc/systemd/system/servicemysql.service
[Unit]
Description=MySQL task
DefaultDependencies=no
Conflicts=reboot.target
Before=poweroff.target halt.target shutdown.target
Requires=poweroff.target
[Service]
Type=oneshot
ExecStart=/path/to/your/script.sh
ExecReload=/usr/bin/kill -HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target
파일에 0644 권한을 부여하고 모든 수정 후에 실행하는 것을 잊지 마십시오.
systemctl daemon-reload
그런 다음 데몬이 실행되도록 활성화합니다.
systemctl enable <name of the service>
그리고 실행을 시작하세요:
systemctl start <name of the service>
서비스가 실행 중인지 확인하려면 다음을 실행합니다.
systemctl status <name of the service>