鍍金池/ 問答/Linux/ Ubuntu LSB腳本如何添加mysql依賴?

Ubuntu LSB腳本如何添加mysql依賴?

網(wǎng)上查到的描述是這樣的:Required-Start關(guān)鍵字來申明在運行該腳本之前應(yīng)該需要先運行哪些腳本。
我在# Required-Start: 添加了mysql服務(wù),但是我把mysql服務(wù)停止后,執(zhí)行/etc/init.d/myserver restart后mysql服務(wù)并不會在myserver服務(wù)啟動前啟動,而且還是stop狀態(tài)。

### BEGIN INIT INFO
# Provides:          myserver
# Required-Start:    $remote_fs $syslog mysql
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
回答
編輯回答
拮據(jù)

Required-Start 并不會主動去啟動要求的服務(wù)。
只是聲明Required-Start列出的服務(wù)都啟動后我這個服務(wù)也可以啟動了。

2017年10月29日 12:08
編輯回答
咕嚕嚕

你看的資料已經(jīng)過時,ubuntu早就不用這玩意管理服務(wù)了,10.04以上用的upstart,16.04開始用的systemd,自帶就有服務(wù)依賴解決方案,不要再看這些過時的資料了。比如讓你的服務(wù)依賴mysql: https://serverfault.com/quest...

無需再寫那一堆配置了。

恕我直言,讓你的程序直接依賴數(shù)據(jù)庫不是一個好的解決方案,不利于未來的微服務(wù)架構(gòu)?,F(xiàn)在的連接池都支持自動重連的功能,因此沒必要添加數(shù)據(jù)庫的依賴。再者產(chǎn)品環(huán)境可能數(shù)據(jù)庫和應(yīng)用程序不在一臺服務(wù)器上,應(yīng)用程序所在的服務(wù)器根本沒有數(shù)據(jù)庫,這個依賴就無法執(zhí)行。

更合理的解決方案是你的服務(wù)依賴中不要有mysql,讓連接池去解決這個問題就行了,你需要做的就是處理一下數(shù)據(jù)庫連接失敗應(yīng)該怎么做,是直接咔嚓掉進程(exit(ERROR_CODE))?還是重啟?還是等待重試?

2017年3月9日 23:17