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

推薦する

MySQL 8.0 の新機能 - チェック制約の紹介

目次序文チェック制約作成、削除、表示制限要約する序文MySQL 8.0 では、チェック制約という非常...

Javascript Echarts 空気質マップ効果の詳細な説明

まず、空気質データと地図データを組み合わせる必要があります。マップデータには属性名があるさまざまな都...

HTMLボタンを中央に配置する方法

HTML ボタン自体を中央に配置するにはどうすればよいでしょうか? このアイデアは簡単に見つかります...

MySQL データベースで UTF-8 エンコードを設定する方法

/etc/my.cnf または /etc/mysql/my.cnf ファイルを変更する [クライアン...

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

キャンバス操作プラグイン fabric.js の使い方を詳しく解説

Fabric.js は非常に便利なキャンバス操作プラグインです。ここでは、日常のプロジェクトで使用さ...

JavaScript キャンバスで動的な点と線の効果を実現

この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...

Vueキャッシュ機能の使い方

目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...

MySQLパラダイムの使用に関する詳細な説明

1. パラダイムこのパラダイムの英語名は Normal Form であり、1970 年代にリレーショ...

MySQL でのサブクエリの基本的な使用法

目次1. サブクエリの定義2. サブクエリの分類1. スカラーサブクエリ: 2. MySQLサブクエ...

MySQL ロック制御同時実行方法

目次序文1. 楽観的ロックバージョンフィールドを追加する2. 悲観的ロック読み取りロック完全なテーブ...

React でのポータルとエラー境界処理の実装

目次ポータルエラー境界処理エラー境界を使用しない場合はどうなりますか?注記ポータルスロットとも言えま...

Linux カーネル デバイス ドライバー カーネル デバッグ テクニカル ノート集

/****************** * カーネルデバッグ技術 ****************...

DockerプライベートライブラリHarborのアーキテクチャとコンポーネントの説明

この記事では、Harbor アーキテクチャの構成と、実行時に各コンポーネントを使用する方法について説...