MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

MySQL 5.7 のスロークエリログの時間がシステム時間より 8 時間遅れている理由の詳細な説明

遅いクエリをチェックすると、時間が正しくなく、システム時間とちょうど 8 時間異なっていることがわかりました。

1. 遅いクエリの表示時間は次のとおりです

# 時間: 2020-01-10T06:42:24.940811Z

2. システム時間

$ 日付
2020年1月10日金曜日 14:42:31 CST

3. データベースパラメータを表示する

mysql> 'log_timestamps' のような変数を表示します。
+----------------+-------+
| 変数名 | 値 |
+----------------+-------+
| ログタイムスタンプ | UTC |
+----------------+-------+
セット内の 1 行 (0.00 秒)

ご存知のとおり、UTC は統一世界時であり、現在のシステム時間は East 8 で、UTC より 8 時間進んでいるため、正しいです。説明については公式サイトの公式ドキュメントをご確認ください。

ログタイムスタンプ

プロパティ値
コマンドライン形式 --log-timestamps=#
5.7.2 で導入
システム変数 log_timestamps
スコープ グローバル
ダイナミック はい
型列挙
デフォルト値 UTC
有効な値
UTC

システム

この変数は、エラー ログに書き込まれるメッセージ、およびファイルに書き込まれる一般クエリ ログ メッセージとスロー クエリ ログ メッセージのタイム スタンプのタイム ゾーンを制御します。テーブル (mysql.general_log、mysql.slow_log) に書き込まれる一般クエリ ログ メッセージとスロー クエリ ログ メッセージのタイム ゾーンには影響しません。これらのテーブルから取得された行は、CONVERT_TZ() を使用するか、セッションの time_zone システム変数を設定することで、ローカル システムのタイム ゾーンから任意のタイム ゾーンに変換できます。

許可される log_timestamps 値は UTC (デフォルト) と SYSTEM (ローカル システムのタイム ゾーン) です。

タイムスタンプは、ISO 8601 / RFC 3339 形式 (YYYY-MM-DDThh:mm:ss.uuuuuu に、ズールー時間 (UTC) または ±hh:mm (UTC からのオフセット) を表す末尾の値 Z が付加された形式) を使用して書き込まれます。

パラメータを変更すると問題は解決します。

mysql> SET GLOBAL log_timestamps = SYSTEM;
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

mysql> 'log_timestamps' のようなグローバル変数を表示します。
+----------------+--------+
| 変数名 | 値 |
+----------------+--------+
| ログタイムスタンプ | システム |
+----------------+--------+

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLは2つの日付間の日数、月数、年数を計算します
  • mysql 時間差計算関数
  • MySQL で重複時間を削除して時間差を計算する実装
  • MySQLクエリで2つの時刻の差を取得する方法

<<:  Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード

>>:  Vue 初心者ガイド: 環境の構築と開始方法

推薦する

mysql 計算関数の詳細

目次2. フィールドの連結2. MySQL関数の例をいくつか挙げてください。 2.1 シンボル処理2...

HTML の類似タグと属性の違いの詳細な説明

【1】<i></i>タグと<em></em>タグ同じ...

Vueは小さな天気予報アプリケーションを実装します

これは私が Vue フレームワークを独学していたときに真似したウェブサイトです。いくつかの都市の天気...

MySQLの基本を素早く学ぶ

目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...

MySQL 文字セットの表示と変更のチュートリアル

1. 文字セットを確認する1. MYSQLデータベースサーバーとデータベースの文字セットを確認する方...

MySQL スロークエリ: スロークエリを有効にする

1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...

MySQL ストレージエンジンの簡単な紹介

1. MySQL アーキテクチャストレージ エンジンを紹介する前に、まずは MySQL アーキテクチ...

Dockerコンテナ監視とログ管理の実装プロセス分析

Docker の導入規模が大きくなると、コンテナを監視する必要があります。一般的に、Docker に...

一般的な JavaScript メモリ エラーと解決策

目次1. タイマー監視2. イベント監視3.オブザーバー4. ウィンドウオブジェクト5. DOM参照...

ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...

MySQL で最大接続数を正しく変更する 3 つの方法

MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...

MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]

この記事では、MySQL の単一テーブル クエリ操作について説明します。ご参考までに、詳細は以下の通...

Vueナンバープレート入力コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

MySQL DMLステートメントの使用に関する詳細な説明

序文:前回の記事では、注意深い学生であれば発見できたかもしれない DDL ステートメントの使用法を中...

フローティングをクリアするいくつかの方法(推奨)

1. 同じタイプの空の要素を追加し、要素の CSS 属性 clear:both; を設定します。 ...