转自:https://blog.csdn.net/skykingf/article/details/45225981
如何用Systemd管理 general 包安装的MySQL呢?
首先看看yum安装的MySQL提供的Systemd管理脚本
$ cat /usr/lib/systemd/system/mysqld.service ## Simple MySQL systemd service file## systemd supports lots of fancy features, look here (and linked docs) for a full list: # http://www.freedesktop.org/software/systemd/man/systemd.exec.html## Note: this file ( /usr/lib/systemd/system/mysql.service )# will be overwritten on package upgrade, please copy the file to ## /etc/systemd/system/mysql.service # # to make needed changes.# # systemd-delta can be used to check differences between the two mysql.service files.# [Unit]Description=MySQL Community ServerAfter=network.targetAfter=syslog.target [Install]WantedBy=multi-user.targetAlias=mysql.service [Service]User=mysqlGroup=mysql # Execute pre and post scripts as rootPermissionsStartOnly=true # Needed to create system tables etc.ExecStartPre=/usr/bin/mysql-systemd-start pre # Start main serviceExecStart=/usr/bin/mysqld_safe # Don‘t signal startup success before a ping worksExecStartPost=/usr/bin/mysql-systemd-start post # Give up if ping don‘t get an answerTimeoutSec=600 Restart=alwaysPrivateTmp=false
适当修改 /lib/systemd/system/mysqld.service 如下:
After=network.targetAfter=syslog.target[Install]WantedBy=multi-user.targetAlias=mysql.service[Service]User=mysqlGroup=mysqlPermissionsStartOnly=trueExecStart=/usr/local/mysql/bin/mysqld_safeTimeoutSec=600Restart=alwaysPrivateTmp=false
然后
ln -s /lib/systemd/system/mysqld.service /etc/systemd/mysqld.service
ln -s /lib/systemd/system/mysqld.service /etc/systemd/mysqld.service
然后 使用 systemctl 设置 mysqld.service自动启动
systemctl enable mysqld.service
查看是否设置成:
systemctl 常见用法:
开机启动:
systemctl enable ***.service
停止开机启动:
systemctl disable ***.service
启动/停止/重启服务:
systemctl start/stop/restart ***.service
查询服务状态:
systemctl status ***.service
列出系统服务,-t后用tab键可以关联出所有支持的unit类型
查询某项服务是否active,以sshd.serice为例
systemctl is-active sshd.service
直接查看某项服务的配置文件,以mysqld.serice为例
查看环境变量