enable mysqld systemctl_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 文件。能够正常连接

原文:http://10892987.blog.51cto.com/10882987/1957170

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值