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  目前我机器上的配置文件如下
复制代码

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
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/my.cnf
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 服务名

加入自启动:

$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
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值