1.创建服务配制文件,可以不指定.service后缀。
vim /usr/lib/systemd/system/mysql.service
2.在mysql.service中增加配置信息
[Unit]
Description=
mysql
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/mysql start
ExecReload=/etc/init.d/mysql restart
ExecStop=/etc/init.d/mysql stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
以下为配置mysqld.service服务项说明
[Unit]
Description=
mysql #显示systemectl服务的名称为mysql
After=network.target
[Service]
User=mysql #此步可以不配置,可以不使用mysql用户启停mysql服务,直接使用root用户
Group=mysql #此步可以不配置,可以不使用mysql用户启停mysql服务,直接使用root用户
Type=forking
ExecStart=/etc/init.d/mysqld start #启动mysql服务,也可不指定后面的/etc/my.cnf,默认会直接调用/etc/my.cnf;既可以使用/etc/init.d/mysqld命令,也可直接使用/mdata/mysql_home/mysql8/bin/mysql start安全目录下的mysql命令
ExecReload=/etc/init.d/mysql -s reload #重启mysql
ExecStop=/etc/init.d/mysql -s quit #停止mysql
PrivateTmp=true
[Install]
WantedBy=multi-user.target
参数解释:
Description:形容服务
After:形容服务类别
[Service]服务运行参数的设置
Type=forking是后盾运行的模式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为进行命令
PrivateTmp=True示意给服务调配独立的长期空间
注意:
[Service]的启动、重启、进行命令全副要求应用绝对路径
[Install]运行级别下服务装置的相干设置,可设置为多用户,即零碎运行级别为3.
3、配置好mysqld.service后,记得一定要执行以下命令使得修改mysqld.service生效!!!
systemctl daemon-reload ##此步在增加完mysql.service后一定要配置这步以保证mysql.service生效
systemctl enable mysql.service ##设置mysql服务开机自启动
4、手工验证通过systemctl启动mysql服务
systemctl status mysql.service (查看服务)
systemctl stop mysql.service (停止服务)
systemctl start mysql.service (启动服务)
systemctl status mysql.service (查看服务)
如果有报错,基本为/etc/my.cnf配置不正确或没有安装插件导致启动/etc/my.cnf有报错,可直接检查mysql的错误日志,查看/etc/my.cnf是哪个配置出错或其他具体原因。
注意配置mysql为系统服务的名称为mysql,注意前后一定要保持一致。
5、手工验证mysql.service是否已生效
systemctl list-units |grep mysql # 查看mysql服务是否为enable系统自启动
systemctl list-units --type=service (查看所有已启动的服务)
systemctl start mysql
systemctl status mysql
systemctl enable mysql
如果mysql服务能正常启动,则不需要重启动centos7 !!
6、如果手工重启动mysql服务未生效,则重新启动centos7,使之mysql系统服务生效
reboot
7、重启动os后再次检查mysql服务是否已自动启动
ps -ef |grep mysql
netstat -na | grep 3306
如果以上均检查正常,则代表已配置好mysql作为系统自启动服务!!!