如果不指定name,则默认二进制日志文件名为主机名,后缀名为二进制日志的序列号,所在路径为数据库所在目录(datadir)。
二进制日志文件在默认情况下并没有启动,需要你手动指定参数来启动。可能有人会质疑,开启这个选项是否会对数据库整体性能有所影响。
不错,开启这个选项的确会影响性能,但是性能的损失十分有限。根据MySQL官方手册中的测试表明,开启二进制日志会使得性能下降1%。
但考虑到可以使用复(replication)和point-in-time的恢复,这些性能损失绝对是可以并且是应该被接受的。
二进制日志包括一组存储实际内容的二进制日志文件和一个用来跟踪二进制日志文件存储位置的二进制日志索引文件。其中有一个二进制文件是活动二进制日志文件,即当前正在写入的文件。每一个二进制日志文件都以格式描述事件(format description event)开始,以日志轮换事件(rotate event)结束。格式描述日志事件包括产生该文件的服务器版本号,服务器及进进制日志的信息等。日志轮换事件包含下一个二进制日志文件的名称,以告知二进制日志继续写入那个文件。服务器关闭和重启,会创建一个新的binlog文件。几个常用的查看二进制日志和日志中事件的命令
mysql>show master status\G
*************************** 1. row***************************
File:master-bin.000010
Position:120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
ERROR:
No query specified
mysql>show binlog events\G
*************************** 1. row***************************
Log_name:master-bin.000001
Pos: 4
Event_type:Format_desc
Server_id: 165
End_log_pos: 120
Info: Serverver: 5.6.35-log, Binlog ver: 4
*************************** 2. row ***************************
Log_name:master-bin.000001
Pos: 120
Event_type: Stop
Server_id: 165
End_log_pos: 143
Info:
2 rows in set (0.00 sec)
ERROR:
No query specified
mysql>show binlog events in 'master-bin.000010'
+-------------------+-----+-------------+-----------+-------------+---------------------------------------+
| Log_name| Pos | Event_type| Server_id |End_log_pos | Info|
+-------------------+-----+-------------+-----------+-------------+---------------------------------------+
| master-bin.000010 |4 | Format_desc |71 |120 | Server ver: 5.6.35-log, Binlogver: 4 |
+-------------------+-----+-------------+-----------+-------------+---------------------------------------+
1 row in set (0.00 sec)
mysql>reset master
Query OK, 0 rows affected (0.00 sec)
mysql>show master status\G
*************************** 1. row***************************
File:master-bin.000001
Position:120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
mysql>show binary logs
+-------------------+-----------+
| Log_name| File_size |
+-------------------+-----------+
| master-bin.000001 |120 |
+-------------------+-----------+
1 row in set (0.00 sec)
reset master命令删除所有二进制日志文件并清空了二进制日志索引文件。reset slave命令删除了slave上复制用的所有文件,重新开始。show binary logs命令获取binlog文件名列表。
�证�<$����6
1. 前言
在Linux日常管理中,我们肯定有查看某些服务的日志需求,或者是系统本身的日志。本文主要介绍如何查看Linux的系统日志,包括文件的路径、工具的使用等等。会看Linux日志是非常重要的,不仅在日常 *** 作中可以迅速排错,也可以快速的定位。
2. 如何查看Linux日志
Linux日志文件的路径一般位于,/var/log/,比如ngix的日志路径为/var/log/nginx/,如果要查看某服务的日志,还可以使用systemctl status xxx,比如查看ssh服务的壮态,systemctl status sshd
查看Linux某服务的日志
Liunx的配置文件在/etc/rsyslog.d里,可以看到如下信息
在linux系统当中,有三个主要的日志子系统:
1、连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,
login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
2、进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计
3、错误日志:由rsyslogd守护程序执行,各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的时间。另外有许多linux程序创建日志,像HTTP和FTP这样提供的服务器也保持详细的日志。
4、其他日志……
查看Linux日志默认路径
可以看到在/var/log目录下存在很多的日志文件,接下来就对里面的一些常用日志文件进行分析
主要日志文件介绍:
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
用户登录日志:/var/log/lastlog
/var/log/boot.log(记录系统在引导过程中发生的时间)
/var/log/secure (用户验证相关的安全性事件)
/var/log/wtmp(当前登录用户详细信息)
/var/log/btmp(记录失败的的记录)
/var/run/utmp(用户登录、注销及系统开、关等事件)
日志文件详细介绍:
/var/log/secure
Linux系统安全日志,记录用户和工作组的情况、用户登陆认证情况
例子:我创建了一个zcwyou的用户,然后改变了该用户的密码,于是该信息就被记录到该日志下
Linux系统安全日志默认路径
该日志就详细的记录了我 *** 作的过程。
内核及公共信息日志,是许多进程日志文件的汇总,从该文件中可以看出系统任何变化
查看Linux内核及公共信息日志
系统引导日志
该日志使用dmesg命令快速查看最后一次系统引导的引导日志
查看Linux系统系统引导日志
最近的用户登录事件,一般记录最后一次的登录事件
该日志不能用诸如cat、tail等查看,因为该日志里面是二进制文件,可以用lastlog命令查看,它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示 Never logged。
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。该日志为二进制文件,不能用诸如tail/cat/等命令,使用last命令查看。
记录邮件的收发
此文件是记录错误登录的日志,可以记录有人使用暴力破解ssh服务的日志。该文件用lastb打开
该日志记录当前用户登录的情况,不会永久保存记录。可以用who/w命令来查看
3. 常用的日志分析工具与使用方法
3.1 统计一个文本中包含字符个数
3.2 查看当天访问排行前10的url
3.3 查看apache的进程数
3.4 访问量前10的IP
cut部分表示取第1列即IP列,取第4列则为URL的访问量
3.5 查看最耗时的页面
按第2列响应时间逆序排序
3.6 使用grep查找文件中指定字符出现的次数
-o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出。这样只要统计输出的行数就可以知道这个字符出现的次数了。
4. 总结
查看Linux日志需求了解和熟悉使用一些常用的工具方能提升我们的查找和定位效率。比如使用 Grep 搜索,使用Tail命令,使用Cut,使用AWK 和 Grok 解析日志和使用 Rsyslog 和 AWK 过滤等等,只要能掌握这些工具。我们才能高效地处理和定位故障点。
https://www.linuxrumen.com/rmxx/647.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)