• 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

    问题解决。

  • 相关阅读:
    Servlet深层知识
    HTTP协议
    Web开发中的主要概念
    Schema约束
    连接池基础
    Mysql基础3
    JDBC常用接口详解
    Mysql基础2
    Mysql基础1
    使用12c的DBCA创建数据库的时候报错TNS-04404
  • 原文地址:https://www.cnblogs.com/yoyotl/p/6194321.html
Copyright © 2020-2023  润新知