目录
如果是自己通过tar包安装的Mysql,不会自动添加到系统服务中,可通过如下方式,自己添加。 一、查看pid路径:
方法一:
1.先启动一下mysql
${mysql}/support-files/mysql.server start
2.成功后,通过ps命令查看pid文件路径
ps -ef|grep mysql
方法二:
直接查看mysql配置文件my.cnf
cat /etc/my.cnf | grep pid-file
pid-file=/usr/local/mysql/data/mysql.pid
二、在/usr/lib/systemd/system目录下增加mysql.service,内容如下
[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/mysql/data/mysql.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server reload
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=false
[Install]
WantedBy=multi-user.target
三、重新载入单元,扫描新的或有变化的单元,使刚刚添加的mysql.service生效
systemctl daemon-reload
Linux *.service文件详解
什么是systemd service?
systemd service 是一种以 .service 结尾的配置文件,是一个专用于 Linux 操作系统的系统与服务管理器。简单来说,用于后台以守护进程(daemon)的形式运行程序。
.service 文件通常包含 3 个模块:
[Unit] 控制单元,表示启动顺序和依赖关系。
[Service] 服务,表示服务的定义。
[Install] 安装,表示如何安装配置文件。
示例:
[Unit]
Description=httpd #当前配置文件的描述信息
After=network.target #表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动
[Service]
Type=forking #定义启动类型
ExecStart=/usr/local/apache/bin/apachectl start #定义启动进程时执行的命令
ExecReload=/usr/local/apache/bin/apachectl restart #重启服务时执行的命令
ExecStop=/usr/local/apache/bin/apachectl stop #定义关闭进程时执行的命令
PrivateTmp=true #是否分配独立空间
[Install]
WantedBy=multi-user.target #表示多用户命令行状态