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 オブジェクトのコピー (ディープ コピーとシャロー コピー)

推薦する

HTML マルチメディア アプリケーション: Web ページにフラッシュ アニメーションと音楽を挿入する

1. HTML_falshアニメーションでのマルチメディアの応用(WebページへのFlashアニメー...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...

HTMLの基本タグと構造の詳細な説明

1. HTMLの概要1.HTML: ハイパーテキスト マークアップ言語。これはプログラミング言語では...

Dockerの動作モードと原理の詳細な説明

次の図に示すように: 仮想マシンと Docker を使用するとき、「なぜ Docker は VM よ...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

マークアップ言語 - 印刷スタイルシート

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

相同性とクロスドメイン、jsonp(関数カプセル化)、CORS原則の詳細な分析

目次同一起源ポリシーAjax リクエストの制限: Ajaxは自身のサーバーにのみリクエストを送信でき...

Vue で Axios カプセル化を使用するための完全なチュートリアル

序文現在、プロジェクトでは、Axios ライブラリが HTTP インターフェース リクエストによく使...

Ubuntu にグラフィック ドライバーが正常にインストールされたかどうかを確認する方法

次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...

Docker x509 の安全でないレジストリ問題を解決する

Docker をインストールした後、会社が構築したプライベート サーバー Harbor からプルしよ...

Docker に Zookeeper を素早くインストールする方法の詳細なチュートリアル

Docker で Zookeeper を素早くインストール会社を変わってから長らくZookeeper...

Linux ディスク パーティションの実装の原理と方法の分析

覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...

Vueメソッドに基づくシンプルなタイマーの実装

Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...

サイバーパンクスタイルのボタンを実現するためのHTML+CSS

まず効果を見てみましょう: 序文:このアイデアは、Bilibili のアップロード者 Steven ...

HTML テーブルのオーバーフローの解決方法

テーブルが広い場合は、あふれてしまう可能性があります。たとえば、左と右の 2 つの div がありま...