centos7 关于把安装的服务加入开机启动的问题

centos7中 把服务加入开机自动启,比如把mysql加入开机自启动,需要在/usr/lib/systemd/system/这个目录下编写mysqld.service文件,具体参照网上资料或之前整理的资料,其他服务也一样。但是mysqld.service 配置文件中 的PrivateTmp=true ,需要改成false,否则每次服务器重启后,虽然mysql服务起来了,进程也起来了,但是连不上 ,如果mysql的配置文件中指定的socket文件路径是/tmp/mysql.sock 的话 会提示找不到/tmp/mysql.sock 文件,原因就是这里设置PrivateTmp=true,在服务启动时会在/tmp目录下生成类似systemd-private-433ef27ba3d46d8aac286aeb1390e1b-apache.service-RedVyu的文件夹,用于存放mysql的临时文件,mysql.sock 文件也被放到这里了,才导致找不到 /tmp/mysql.sock 文件。但是做软连接也不行,因为 每次服务器重启 后 生成的类似systemd-private-433ef27ba3d46d8aac286aeb1390e1b-apache.service-RedVyu的文件夹也会变。

mysqld.service 配置文件如下:

[Unit]

Description=mysqld

After=network.target

[Service]

Type=forking

ExecStart=/etc/init.d/mysqld start

ExecReload=/etc/init.d/mysqld restart

ExecStop=/etc/init.d/mysqld  stop

PrivateTmp=false

[Install]

WantedBy=multi-user.target

如果之前有创建过mysqld.service 文件,当使用chkconfig --add mysqld 后 再使用 chkconfig --list 是查看不到有mysql的这一列的,当使用 chkcnfig mysqld on  命令时会提示如下:

[[email protected] ~]# chkconfig mysqld on

注意:正在将请求转发到“systemctl enable mysqld.service”。

Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

这就是相当于转为centos7的方法将服务加入启动的。会在/etc/systemd/system/multi-user.target.wants 目录下创建一个软连接 ,链接到/usr/lib/systemd/system/mysqld.service。

如果不想使用centos7这种方法把服务加入自启的话,可以将之前创建的mysqld.service 删掉,然后再执行 chkconfig --add mysqld ,chkconfig mysqld on ,再使用chkconfig --list 查看就能看到mysql了

重启服务器后 mysql正常启动,正常生产/tmp/mysql.sock 文件。能够正常连接

时间: 2024-10-22 02:30:00

centos7 关于把安装的服务加入开机启动的问题的相关文章

CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core)

CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License information (no user will be created) (license not accepted) Please make your choice from above ['q' to quit | 'c' to continue | 'r' to refresh]: 解决方法: 输入“

linux jexus 服务 设置开机启动

linux jexus 服务 设置开机启动 linux的服务开机设置一般在 /etc/init.d/里 而jexus的默认安装目录在 /usr/jexus里 启动文件为 jws 参数 有start stop restart 这里贡献一个刚写好的jexus的开启启动脚本 #!/bin/bash ### BEGIN INIT INFO # # Provides: jws # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs

Linux重新设置服务及开机启动服务

今天遇到Linux重启后,系统开机启动到某个服务后,挂住了.但是可以通过SSH进行远程连接. 这时候,可以通过语句,重新进行服务的开机启动设置,方法如下: for i in `chkconfig --list|grep 3:on`;do chkconfig $i off;done  chkconfig --list  for i in crond network sshd rsyslog;do chkconfig $i on;done  chkconfig --list 这样,执行reboot重

【CNMP系列】CentOS7.0下安装Nginx服务

话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Nginx的历史不在此赘述,轻量,快是它的特性.只是因为现在的模块没有达到apache的模块数量级,未来有超越apache的势头. 首先,我们要安装个必要的软件(上节提到过,可能有人并未安装) #yum install wget 因为Nginx以来与gcc的编译环境,所以,在mini centos中需要安

centos7配置YUM安装DNS服务

1.配置DNS地址 vim /etc/resolv.conf nameserver 192.168.1.100 #注:这里的地址是你DNS服务器本机的地址 2.安装dns服务 yum install bind bind-utils 3.启动服务 启动DNS服务:service named start 重启DNS服务:systemctl restart  named.service 设置开机启动:systemctl enable named 4.编辑dns配置文件 vim /etc/named.c

Centos下安装最新版Mono并为windwos服务配置开机启动项

一:安装Mono,此步骤参照官网 1:配置Yum仓库 #Centos 7yum install yum-utils rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" yum-config-manager --add-repo http://download.mono-project.com/repo/cent

Centos7 ActiveMQ 安装并配置为开机启动

第一步, 环境准备 更新CentOS7 ,安装epel-release,安装JDK,关闭防火墙 # yum clean all && yum update# yum install -y epel-release && yum install -y java-1.8.0-openjdk# systemctl disable firwalld# systemctl stop firewalld 第二步,获取安装包 下载ActiveMQ安装包,并解压 # wget https:

CentOS7 安装 Redis 并设置开机启动

阅读目录 1.下载 2.解压 3.编译 4.创建redis目录 5.复制主要配置文件到新文件夹 6.开启后台运行 7.创建redis命令软连接 8.添加开机启动服务 9.设置开机启动 10.检查是否安装成功 11.连接登录 12.永久设置Redis密码 13.临时设置Redis密码 14.登陆有密码的Redis 15.先登陆后验证 16.开启后台运行 回到顶部 1.下载 https://redis.io/download cd /usr/local/src wget -c http://down

centos7安装docker并设置开机启动

版本要求:查看内核版本,需大于3.10 [[email protected] ~]# uname -r 3.10.0-327.10.1.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo yum update 安装docker [[email protected] ~]# curl -sSL https://get.docker.com/ | sh + sh -c 'sleep 3; yum -y -q install docker-engine'