Linux で binlog ファイルの作成時間を表示するコマンド

Linux で binlog ファイルの作成時間を表示するコマンド

背景

MySQL は 26 日の 16:23:49 に大量のスロー クエリを生成しました。この期間中、binlog ファイルは非常に速く更新されました (スロー ログを確認すると、MySQL DML の同時実行性が比較的高いことがわかります)。binlog ファイルの書き込みに何分かかるかを知りたいです。

分析する

• 3つのバイナリログファイルの最終変更間隔はそれぞれ2分と1分です。
•同じトランザクションは同じbinlogファイルにのみ書き込むことができます
•mysql-bin.016126 ファイルの最終変更時刻 16:22 は、必ずしも mysql-bin.016127 ファイルの作成時刻ではありません (大規模なトランザクションの場合、大規模なトランザクションはまだ以前の binlog ファイルに書き込み中であり、新しいトランザクションは新しく作成された binlog ファイルにすでに書き込み中です)
• mysqlbinlogを使用してbinlogファイル内のイベントを読み取り、ファイルの作成時刻を確認します。
•Linux では、ファイルがいつ作成されたかを確認するコマンドはありますか?

方法

1. statコマンドを使用する

stat mysql-bin.016126

ファイル: 'mysql-bin.016126'
サイズ: 262146609 ブロック: 512016 IO ブロック: 4096 通常ファイル
デバイス: fd02h/64770d Inode: 135529302 リンク: 1
アクセス: (0640/-rw-r-----) Uid: ( 5701/actiontech-mysql) Gid: ( 5701/actiontech-mysql)
アクセス: 2019-04-28 14:41:42.967043003 +0800
修正: 2019-04-26 16:24:21.823932020 +0800
変更: 2019-04-26 16:24:21.823932020 +0800

1. アクセス時間: この時間は、このファイルの内容を一度読み取った後に更新されます。たとえば、このファイルに対して more、cat などのコマンドを使用します。 lsコマンドもstatコマンドもファイルのアクセス時間を変更しません。
2. 変更時刻: 変更時刻は、ファイルの内容が最後に変更された時刻です。たとえば、vi の後にファイルを保存します。 ls -lで表示される時刻はこの時刻です
3. ステータス変更時間。これは、ファイルの i-node が最後に変更された時刻です。この時刻は、chmod または chown コマンドを使用してファイル属性が 1 回変更されると更新されます。

ファイルが作成以降変更されていない場合、変更時刻 = 作成時刻になります。ファイルのステータスが作成以降変更されていない場合、ステータス変更時刻 = 作成時刻になります。ファイルが作成以降読み取られていない場合、アクセス時刻 = 作成時刻になります。使用済みのファイルの場合、これらは起こりにくい

--------------------------------------------------------------------------------

2. debugfsを使用する

binlogファイルが保存されているルートディレクトリを取得します

grep 'datas' /etc/fstab
/dev/mapper/centos-datas /datas ext4 デフォルト 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 (2013 年 12 月 28 日)
Inode: 135529232 タイプ: 通常 モード: 0640 フラグ: 0x80000
世代: 2396969921 バージョン: 0x00000000:00000001
ユーザー: 5701 グループ: 5701 サイズ: 262147164
ファイル ACL: 0 ディレクトリ ACL: 0
リンク: 1 ブロック数: 512016
フラグメント: アドレス: 0 番号: 0 サイズ: 0
ctime: 0x5cc2c082:47dcd9bc -- 2019 年 4 月 26 日金曜日 16:25:38
atime: 0x5cc55c49:2929fd18 -- 2019 年 4 月 28 日 (日) 15:54:49
mtime: 0x5cc2c082:47dcd9bc -- 2019 年 4 月 26 日金曜日 16:25:38
crtime: 0x5cc2c035:c470d1d0 -- 2019 年 4 月 26 日金曜日 16:24:21
追加の inode フィールドのサイズ: 28
範囲:

•crtimeはファイルの作成時刻です
• crtimeファイルとmtimeファイルの最終変更時刻の差は1分17秒です
•MySQLはbinlogファイルの書き込みに1分以上かかります

知らせ

xfsファイルシステムは、debugfsを使用してファイルの作成時間を表示することをサポートしていません。

grep ルート /etc/fstab
 /dev/mapper/centos-root / xfs デフォルト 1 1
ls -i /テスト1
 357556 /テスト1
debugfs -R 'stat <357556>' /dev/mapper/centos-root
 debugfs 1.42.9 (2013 年 12 月 28 日)
 /dev/mapper/centos-root: ファイルシステムを開いているときにスーパーブロックに不正なマジックナンバーがあります
 stat: ファイルシステムが開いていません

要約する

上記は、編集者が紹介した Linux での binlog ファイルの作成時間を確認するためのコマンドです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Golang を使用して Linux 上のファイルのアクセス/作成/変更時間を取得する
  • Linux フォルダファイルの作成と削除の解析
  • Linux パーティションまたは論理ボリュームにファイルシステムを作成する方法
  • Linuxでスワップパーティションファイルを作成する方法
  • 日付フォルダまたはファイルを作成する Linux コマンドのサンプルコード
  • Linux でファイルの作成時間を取得する方法と実践的なチュートリアル

<<:  MySQL の同時実行性の問題と解決策の分析

>>:  JS オブジェクトのコピー (ディープ コピーとシャロー コピー)

推薦する

CSS3 で虫眼鏡効果を模倣するいくつかの方法の原理の分析

記事のタイトルが「模造虫眼鏡」なのはなぜですか?今日お話ししたいのは、一般的に言われているような、マ...

コード分​​析を実現するためのFastDFSとNginxの統合

FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...

Vue での weixin-js-sdk の一般的な使用方法の詳細な説明

リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...

Vue3 がデータ監視を実装するためにプロキシを使用する理由の分析

Vue データの双方向バインディング原則ですが、この方法には欠点があり、配列とオブジェクトの部分的な...

MySQL の null と not null、null と空の値の違いの詳細な説明 ''''

MySQL を長い間使用してきた多くの人は、これら 2 つのフィールド属性の概念をまだよく理解して...

MySQL データベースのアップグレードにおけるいくつかの「落とし穴」

商用データベースの場合、データベースのアップグレードは優先度が高く、バージョンアップのロードマップ、...

Linux 上での Go 環境の構築のインストールと設定の説明

Linux で Go 環境を構築するのは非常に簡単です。 1. go1.2.1.linux-386....

Portainer を使用した Docker コンテナのデプロイのプロジェクト実践

目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...

Ubuntu の Docker で mysql5.6 をインストールする方法

1. mysql5.6をインストールする docker 実行 mysql:5.6すべてのアイテムのダ...

jQuery は呼吸カルーセルを実装します

この記事では、ブレッシングカルーセルを実装するためのjQueryの具体的なコードを参考までに共有しま...

コード例を通してページ置換アルゴリズムの原理を理解する

ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

複数レベルの複雑な動的ヘッダーの avue-crud 実装例

目次序文バックグラウンドデータの結合フロントエンドデータ表示ページ効果表示Avue.js は、既存の...

react+antdプロジェクトをゼロから構築する方法を教えます

これまでの記事はすべて私自身の学習記録であり、主に以前に遭遇した落とし穴を忘れないようにするためのも...

Windows での MySQL インストール チュートリアル (画像とテキスト付き)

MySQL インストール手順 MySQL は、スウェーデンの MySQL AB によって開発された...