Linux服务器设置MySQL服务自启

创建MySQL服务配置文件

vim /etc/systemd/system/mysql.service

配置属性

a.查看mysql配置文件

记录(mysql安装目录) (pid文件存放目录)

注:如果在配置文件中找到了pid对应的目录却发现实际目录中不存在pid文件可以把mysql服务kill掉重启试试

vim /etc/my.cnf

b.添加配置信息 

[Unit]
Description=MySQL Database Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/data/mysql/mysql.pid
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGTERM
TimeoutSec=300

[Install]
WantedBy=multi-user.target

[Unit]
Description: 描述
After: 前置 服务在网络目标(network.target)之后启动
[Service]
Type=simple: 立即启动
ExecStart: 使用mysqld_safe脚本来启动MySQL服务器,同时指定配置文件路径和PID文件的位置
ExecReload: 当需要重新加载服务配置时执行的命令。这里通过发送HUP信号给主进程来实现重新加载配置(kill pid)。
KillSignal=SIGTERM:  默认值SIGTERM 
TimeoutSec=300: 设置了服务停止或启动的最大等待时间,单位为秒。如果在这个时间内服务没有完成启动或停止,则会被强制终止。
[Install]
WantedBy=multi-user.target: 当进入multi-user.target运行级别时,本服务将被激活。multi-user.target非图形界面下的多用户环境(也就是机器启动)

c.停止mysql服务

systemctl stop mysql

c.重新加载systemd配置

systemctl daemon-reload

 d.尝试使用service启动

systemctl start mysql

报错记录

解决方案---根据配置文件中的mysql.err文件查看 具体信息 

可以看到我的问题是 datadir目录不存在-------(我的配置信息写错了)

e.查看服务状态

systemctl status mysql

设置开启自启动

systemctl enable mysql

重启测试

reboot 

纵享丝滑(亲测可用)