Linux7⽤Systemctl来管理Mysql以及配置⽂件的详解
⼀、centos7与centos6相⽐有什么不同:
1  在centos7中服务不在是⽤service这个命令来启动与停⽌,也不再⽤chkconfig来设置开机启动与否!
在centos7中所有对服务的管理都集中到了systemctl当中;systemctl不再是合之前⼀样依赖/etc/init.d/下
的脚本,它是通过配置⽂件来完成对服务的管理的;
⼆、创建systemctl管理mysql的配置⽂件:
1  创建配置⽂件
vim /usr/lib/systemd/system/mysql.service
systemctl对配置⽂件的后缀名有所要求、这个⽂件的后缀名要是以.service结尾的;当然由于它默认可以省略后缀,所以你也可以不指定后缀名。
三、配置⽂件样例:
1  ⽬前我机器上的配置⽂件如下
复制代码
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/myf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
复制代码
在systemctl配置⽂件中#号⽤来表⽰注释,这⾥最重要的⼀⾏是ExecStart它表⽰当systemctl去启动mysql时要执⾏的命令。
在你的系统上只要换掉这⼀句就可以了(配置好⽂件位置)。
四、通过systemctl来启动mysql:
先重载⼀下配置⽂件:systemctl daemon-reload
[root@workstudio system]# systemctl start mysql
[root@workstudio system]# ps -ef | grep mysql
mysql 9171 1 4 17:08 ? 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/myf
root 9205 8508 0 17:08 pts/0 00:00:00 grep --color=auto mysql
五、通过systemctl 来设置mysql开机启动:
[root@workstudio system]# systemctl enable mysql
Created symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to
/usr/lib/systemd/system/mysql.service.
============================================
六、 了解配置内容。
1 详解
systemd的配置⽂件主要放在/usr/lib/systemd/system⽬录,也可能在/etc/systemd/system⽬录。
现在来看⼀个系统的配置⽂件来学习⼀下:
$cat sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service
[Service]
Type=forking
PIDFile=/var/run/sshd.pid
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
这个是我们常⽤的sshd的配置⽂件内容,下边简单解释⼀下,以帮助理解。
[Unit] 区块:启动顺序与依赖关系。
Description:当前配置⽂件的描述信息。
Documentation:帮助信息。
After:表⽰当前服务是在那个服务后⾯启动,⼀般定义为⽹络服务启动后启动
Wants:表⽰sshd.service与sshd-keygen.service之间存在”弱依赖”关系,即如果”sshd-keygen.service”启动失败或停⽌运⾏,不影响sshd.service继续执⾏。
[Service] 区块:启动⾏为
Type:定义启动类型。
PIDFile:服务的pid⽂件路径。
EnvironmentFile:指定当前服务依赖的环境参数⽂件。
ExecStart:定义启动进程时执⾏的命令。
ExecReload:重启服务时执⾏的命令
KillMode:定义 Systemd 如何停⽌ sshd 服务。
Restart:定义了 sshd 退出后,Systemd 的重启⽅式。
RestartSec:表⽰Systemd重启服务之前,需要等待的秒数。上⾯的例⼦设为等待42秒。
[Install] 区块:定义如何安装这个配置⽂件,即怎样做到开机启动。
WantedBy:表⽰该服务所在的 Target。multi-user.target表明当系统以多⽤户⽅式(默认的运⾏级别)启动时,这个服务需要被⾃动运⾏。
检视和控制systemd的主要命令是systemctl。该命令可⽤于查看系统状态和管理系统及服务。如配置好⼀个service⽂件后
先重载服务⽂件
$ systemctl daemon-reload
然后启动验证:
$ systemctl start 服务名
打开mysql服务命令加⼊⾃启动:
$systemctl enable 服务名
停⽌⾃启动
$systemctl disable 服务名
2 ,systemd⽇志管理。
systemd提供了⾃⼰⽇志系统(logging system),称为 journal. 使⽤ systemd ⽇志,⽆需额外安装⽇志服务(syslog)。读取⽇志的命令:
查看所有⽇志(默认显⽰本次启动的所有⽇志) journalctl
查看本次启动的所有⽇志也可以使⽤journalctl -b
查看内核⽇志
journalctl -k
根据服务筛选
journalctl -u sshd
根据进程ID查询
journalctl _PID=1
查看⽇志占⽤的磁盘空间
journalctl --disk-usage
设置⽇志占⽤的空间
journalctl --vacuum-size=500M

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。