/etc/init.d 和service 文件
在/etc/init.d的可执行程序的优先级会高于/etc/systemd/system/下的service文件,如果同时存在的话。
serivice xxxx start|stop|restart 相当于是对/etc/init.d下的xxxx的封装,相当于是一个管理命令,实际执行的是/etc/init.d下的可执行程序。如果/etc/init.d下没有该服务的可执行程序,则使用service文件
补充说明:
/etc/init.d/xxxx xxxx这样的方式是老版本Linux使用的服务管理方式(针对从官方软件仓库或官方镜像源安装的软件),针对CentOS来说,是CentOS 6.9及其以下版本才用这样的方式启动MySQL服务,从CentOS 7开始,改成了systemd管理系统服务,所以你需要使用以下的命令来启动或停止MySQL:
#启动MySQL systemctl start mysqld #停止MySQL systemctl stop mysqld #查看MySQL运行状态 systemctl status mysqld #设置MySQL开机自启 systemctl enable mysqld
当然了,一些第三方开发的集成软件为了顾及老用户的习惯,在高版本CentOS中依然保留了/etc/init.d/xxx来管理服务的形式,比如国内公司开发的宝塔集成面板,这种情况不在讨论范围内...