• 瀚高数据库开机自启动失败


    问题描述:使用瀚高数据库企业版,开机自启动没有正常运行。
    使用命令

    [root@hgdb ~]$ systemctl start hgdb-see-4.5.8.service
    
    • 1

    现象:

    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
    Authentication is required to manage system services or units.
    Authenticating as: root (tbs)
    Password: 
    polkit-agent-helper-1: pam_authenticate failed: Authentication failure
    ==== AUTHENTICATION FAILED ===
    Failed to start hgdb-see-4.5.8.service: Access denied
    See system logs and 'systemctl status hgdb-see-4.5.8.service' for details.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    一般出现access denied是参数设置错误造成的,所以有以下解决思路,也顺利解决了问题。
    解决办法:

    [root@localhost system]# cd /usr/lib/systemd/system/
    [root@localhost system]# vim hgdb-see-4.5.8.service 
    
    • 1
    • 2

    文件内容如下:

    [Unit]
    Description=hgdb
    Requires=network.target local-fs.target
    After=network.target local-fs.target
    [Service]
    Type=forking
    User=root
    ExecStart=/bin/bash -c "/opt/highgo/hgdb-see-4.5.8/bin/service.sh start"
    ExecStop=/bin/bash -c "/opt/highgo/hgdb-see-4.5.8/bin/service.sh stop"
    TimeoutSec=60
    [Install]
    WantedBy=multi-user.target graphical.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    [root@localhost system]# vim /opt/highgo/hgdb-see-4.5.8/bin/service.sh
    
    • 1
    #/bin/bash -e
    
    PROGNAME=$(basename $0)
    BIN=$(dirname "$0")
    PKGTYPE=$([ `which dpkg 2> /dev/null` ] && echo deb || echo rpm)
    
    if [[ $# != 1 ]]; then
        echo "Usage: $PROGNAME {start|stop|restart|status}" >&2
        exit 1
    fi
    
    if [[ $PKGTYPE == 'rpm' ]]; then
        source /etc/profile
        [[ -f ~/.bashrc ]] && source ~/.bashrc
        [[ -f ~/.bash_profile ]] && source ~/.bash_profile
    else
        eval "`cat /etc/profile`"
        [[ -f ~/.bashrc ]] && eval "`cat ~/.bashrc`"
        [[ -f ~/.bash_profile ]] && eval "`cat ~/.bash_profile`"
    fi
    
    if [[ $PGDATA == '' ]]; then
        pgconf=`find $BIN/.. -name postgresql.conf | head -n 1`
        if [[ $pgconf ]]; then
            export PGDATA=`dirname $pgconf`
        else
            echo "Cannot find datadir"
            exit 1
        fi
    fi
    
    case $1 in
        start) 
            $BIN/pg_ctl start -D /data/highgo/data/
            exit
            ;;
        stop) 
            $BIN/pg_ctl stop
            exit
            ;;
        restart) 
            $BIN/pg_ctl restart
            exit
            ;;
        status) 
            $BIN/pg_ctl status
            exit
            ;;
        *) 
            echo "Invalid argument" >&2
            exit 1
            ;;
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    修改

    $BIN/pg_ctl start 为 $BIN/pg_ctl start -D /data/highgo/data/
    
    • 1

    -D /data/highgo/data/是data路径

  • 相关阅读:
    第3章 语义陷阱
    Nginx 面试 40 问
    公司 CTO:高性能开发,你不会 Netty,怎么好意思拿 20K?
    Git使用经验总结3-删除远端提交记录
    中国石油大学(北京)-《 修井工程》第二阶段在线作业
    视频编辑服务热门问题合集
    (web前端网页制作课作业)使用HTML+CSS制作非物质文化遗产专题网页设计与实现
    QCC TX 音频输入切换+提示声音
    数字图像处理课程实验 基于颜色布局描述符(CLD)图像特征提取算法使用Python实现简单的人脸检测功能并使用PyQt5构建简单的功能界面
    leetcode 2560打家劫舍5
  • 原文地址:https://blog.csdn.net/lijuncheng963375877/article/details/134004213