zoukankan      html  css  js  c++  java
  • 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

    问题解决。

  • 相关阅读:
    JUC原子类 1
    线程优先级和守护线程
    多线程中断
    关于html5不支持frameset的解决方法
    shell中$0,$?,$!等的特殊用法
    Linux GCC常用命令
    C/C++中extern关键字详解
    js实现iframe自适应高度
    java线程安全总结
    Linux平台Java调用so库-JNI使用例子
  • 原文地址:https://www.cnblogs.com/yoyotl/p/6194321.html
Copyright © 2011-2022 走看看