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