CentOS 7 程序自啟動的問題


更優雅的方法見 http://www.cnblogs.com/yoyotl/p/6514134.html

Mysql具體的安裝方法見 http://www.cnblogs.com/yoyotl/p/5752437.html

但是關於自啟動部分需要多一些說明。

一、問題現象:

系統重啟后,發現mysqld服務啟動正常,但是依賴mysql數據庫的應用程序A啟動失敗。

查看日志顯示,程序A啟動的時候鏈接數據庫失敗。

二、原因分析:

mysqld服務是正常啟動的。

此時手動重啟程序A,A也正常運行。

結論:說明程序A啟動的時候,mysqld可能沒有啟動。

三、啟動順序

首先想到的就是調整mysqld服務的啟動順序,讓它高過我的程序A。

然而發現/etc/init.d路徑下沒有關於mysqld的啟動腳本。

四、解決思路

按照鏈接指示安裝的mysqld默認是自動啟動的。

可以取消mysqld的自啟動,然后寫一個啟動腳本確保它啟動在程序A啟動之前。

五、解決辦法

1. 查看系統當前默認啟動項目的方法,不再是setup之類的了。

systemctl list-unit-files

 執行此命令能查看當前系統的服務啟動和服務狀態。

 結果顯示如下:

1 ...
2 microcode.service                           enabled 
3 mysql.service                               enabled 
4 mysqld.service                              enabled 
5 NetworkManager-dispatcher.service           enabled 
6 ...

2. 取消mysqld的自啟動

systemctl disable mysqld

執行該命令后再查看當前系統的服務狀態:

1 ...
2 microcode.service                           enabled 
3 mysqld.service                              disabled
4 NetworkManager-dispatcher.service           enabled 
5 ...

3. 自定義/etc/rc.local

 先執行systemctl start mysqld

 再執行startA

 

問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM