CentOS 7 程序自启动的问题

Posted 一沙世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

问题解决。

以上是关于CentOS 7 程序自启动的问题的主要内容,如果未能解决你的问题,请参考以下文章

centos 7安装gitlab及使用

CentOS 7.x设置自定义开机启动,添加自定义系统服务

CentOS 7.x设置自定义开机启动,添加自定义系统服务

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法

版本管理 GitLab 的安装及管理 (CentOS 7)