官网地址:https://mariadb.com/kb/en/systemd/
参考文章:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
tips:
当 MariaDB 使用systemd单元文件启动时,它直接以用户身份启动mysqld进程mysql。 该mysql不是以mysqld_safe启动. 因此,不会从配置文件的[mysqld_safe] 选项组中读取配置。
在 /usr/lib/systemd/system 目录下创建文件 起名为mariadb3307.service
vim mariadb3307.service
[Unit]
Description=mariadb Server
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
PIDFile=/data/mariadb/3307/3307.pid
ExecStart=/data/op/application/mariadb10.2.39/bin/mysqld --defaults-file=/data/mariadb/3307/my.cnf
Restart=on-failure
RestartPreventExitStatus=1
TimeoutSec=0
PrivateTmp=false
[Install]
WantedBy=multi-user.target
after的含义是 当前服务的启动应该在after定义的相关服务之后启动
相应地,还有一个Before字段,定义本服务应该在哪些服务之前启动
Restart=on-failure表示非正常退出时才会重启 正常退出不会重启
WantedBy=multi-user.target 开机自启相关配置 multi-user.target表示运行级别
当执行 "systemctl enable mariadb3307"时, 会创建一个mariadb3307.service的软链接到/etc/systemd/system/multi-user.target.wants目录下,此目录下服务都会开机自启。
需要修改的:
user group一般都是mysql
pidfile 修改为实例实际使用的pid文件 一般在数据目录下 可以再配置文件中定义
ExecStart 修改为实例实际的mariadb安装目录 配置文件目录
修改mariadb3307.service文件后需要reload生效
systemctl daemon-reload
服务控制命令:
systemctl start mariadb3307 开启
systemctl stop mariadb3307 关闭
systemctl restart mariadb3307 重启
systemctl status mariadb3307
status查看状态 -l输出日志详细信息
systemctl status mariadb3307 -l
**
环境变量配置
**
在目录 /etc/profile.d/ 下创建 mariadb.sh 需以sh结尾。
把存放可执行文件的bin目录写入path
PATH=$PATH:/data/op/application/mariadb10.2.39/bin/
export PATH
刷新生效
source /etc/profile