Linux 如何用命令查看binlog文件的创建时间

目录

  • 背景
  • 分析
  • 方法
  • 注意

背景

MySQL在26日 16:23:49产生了大量的慢查询,在这段时间内,binlog文件刷新的很快(查看慢日志是mysql DML并发比较多),想知道写完一个binlog文件究竟花了几分钟时间?

分析

  • 三个binlog文件的最后修改间隔时间分别是2 分钟和1 分钟
  • 同一个事务只能写同一个binlog文件
  • mysql-bin.016126文件的最后修改时间16:22不一定是mysql-bin.016127 文件创建的时间(存在大事务的情况下,大事务还在写上一个binlog文件,新的事务已经在写新创建的binlog文件了)
  • 使用mysqlbinlog 可以读取binlog文件中的event,知道文件的创建时间
  • 在Linux下,是否有命令可以查出文件的创建时间了?

方法

1、使用stat命令
stat mysql-bin.016126

File: ‘mysql-bin.016126’
Size: 262146609 Blocks: 512016 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 135529302 Links: 1
Access: (0640/-rw-r-----) Uid: ( 5701/actiontech-mysql) Gid: ( 5701/actiontech-mysql)
Access: 2019-04-28 14:41:42.967043003 +0800
Modify: 2019-04-26 16:24:21.823932020 +0800
Change: 2019-04-26 16:24:21.823932020 +0800
?

1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件运用 more、cat等命令。ls、stat命令都不会修改文件的访问时间
2、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间
3、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新

如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间。对使用过的文件,这些基本不太可能



2、使用debugfs
获取binlog文件存放根文件目录

grep ‘datas‘ /etc/fstab
/dev/mapper/centos-datas /datas ext4 defaults 1 2

得到binlog文件inode号

ls -i mysql-bin.016127
135529232 mysql-bin.016127

得到文件创建时间

debugfs -R ‘stat <135529232>‘ /dev/mapper/centos-datas
debugfs 1.42.9 (28-Dec-2013)
Inode: 135529232 Type: regular Mode: 0640 Flags: 0x80000
Generation: 2396969921 Version: 0x00000000:00000001
User: 5701 Group: 5701 Size: 262147164
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 512016
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x5cc2c082:47dcd9bc -- Fri Apr 26 16:25:38 2019
atime: 0x5cc55c49:2929fd18 -- Sun Apr 28 15:54:49 2019
mtime: 0x5cc2c082:47dcd9bc -- Fri Apr 26 16:25:38 2019
crtime: 0x5cc2c035:c470d1d0 -- Fri Apr 26 16:24:21 2019
Size of extra inode fields: 28
EXTENTS:

  • crtime即为文件创建时间
  • crtime和mtime文件最后修改时间差1分17秒
  • MySQL写完一个binlog文件用时1分多钟

注意

xfs文件系统不支持用debugfs来查看文件的创建时间
grep root /etc/fstab
/dev/mapper/centos-root / xfs defaults 1 1

ls -i /test1
357556 /test1

debugfs -R ‘stat <357556>‘ /dev/mapper/centos-root
debugfs 1.42.9 (28-Dec-2013)
/dev/mapper/centos-root: Bad magic number in super-block while opening filesystem
stat: Filesystem not open

参考
Linux文件创建时间

原文地址:https://www.cnblogs.com/YangJiaXin/p/10859355.html

时间: 2024-10-09 12:51:15

Linux 如何用命令查看binlog文件的创建时间的相关文章

Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)

linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000 [二]显示1000行到3000行 cat filename | head -n 3000 | tail -n +1000 *注意两种方法的顺序 分解: tail -n 1000:显示最后1000行 tail -n +1000:从1000行开始显示,显示1000行以后的 head -n 100

Linux使用netstat命令查看并发连接数

本文和大家分享的主要是linux使用netstat命令查看并发连接数的相关内容,一起来看看吧,希望对大家学习linux有所帮助. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: 返回结果示例: LAST_ACK 5 (正在等待处理的请求数) SYN_RECV 30 ESTABLISHED 1597 (正常数据传输状态) FIN_WAIT1 51 FIN_WAIT2 504 TIME_WAIT 105

Linux使用netstat命令查看并发连接数[转]

转自:http://www.cnblogs.com/wayne173/p/5652043.html Linux使用netstat命令查看并发连接数 我们的网站部署在linux的服务器上,特别是web服务器,我们可能有时候做为运维人员,肯定是要查看网站的并发连接数是不是达到瓶颈等,所以在linux下,我们如何查看服务器的并发连接数呢?使用以下命令即可分组查看各种连接状态哦: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,

shell命令查看某文件夹下的文件个数

shell命令查看某文件夹下的文件个数 2010-06-25 17:05:15|  分类: shell |字号 订阅 1.查看某文件夹下文件的个数: ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 2.查看某文件夹下文件的个数,包括子文件夹里的: ls -lR|grep "^-"|wc -l 3.查看某文件夹下文件夹的个数,包括子文件夹里的: ls -lR|grep "^d"|wc

java运行bat命令得到某个windows文件的创建时间

原文:java运行bat命令得到某个windows文件的创建时间 代码下载地址:http://www.zuidaima.com/share/1550463260150784.htm package com.zuidaima.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /** *

Python 获取文件的创建时间,修改时间和访问时间

# 用到的知识# os.path.getatime(file) 输出文件访问时间# os.path.getctime(file) 输出文件的创建时间# os.path.getmtime(file) 输出文件最近修改时间 #-*- encoding=utf8 -*-import time import os def fileTime(file): return [ time.ctime(os.path.getatime(file)), time.ctime(os.path.getctime(fil

python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回falseos.path.isfile(name):判断name是不是一个文件,不存在name也返回falseos.path.ex

如何取得文件的创建时间?

uses SysUtils function GetFileDateTime(FileName: string): TDateTime;var intFileAge: LongInt; begin    intFileAge := FileAge(FileName);    if intFileAge = -1 then      Result := 0    else      Result := FileDateToDateTime(intFileAge)end; 如何取得文件的创建时间?

python 修改文件的创建时间、修改时间、访问时间

目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 参考博客:python修改任意文件的创建时间.修改时间.访问时间 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32fi