1. 程式人生 > 資料庫 >MySQL5.7慢查詢日誌時間與系統時間差8小時原因詳解

MySQL5.7慢查詢日誌時間與系統時間差8小時原因詳解

在對慢查詢進行檢視的時候發現時間不對,正好與系統時間相差8個小時。

1、慢查詢顯示時間如下

# Time: 2020-01-10T06:42:24.940811Z

2、系統時間

$ date
Fri Jan 10 14:42:31 CST 2020

3、檢視資料庫引數

mysql> show variables like 'log_timestamps';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| log_timestamps | UTC  |
+----------------+-------+
1 row in set (0.00 sec)

UTC大家都知道是世界統一時間,而我現在的系統時間是東八區,比UTC早了8個小時,這就對上了。檢視官方文件看一下官網的解釋。

log_timestamps

Property Value
Command-Line Format --log-timestamps=#
Introduced 5.7.2
System Variable log_timestamps
Scope Global
Dynamic Yes
Type Enumeration
Default Value UTC
Valid Values
UTC

SYSTEM

This variable controls the time zone of timestamps in messages written to the error log,and in general query log and slow query log messages written to files. It does not affect the time zone of general query log and slow query log messages written to tables (mysql.general_log,mysql.slow_log). Rows retrieved from those tables can be converted from the local system time zone to any desired time zone with CONVERT_TZ() or by setting the session time_zone system variable.

Permitted log_timestamps values are UTC (the default) and SYSTEM (local system time zone).

Timestamps are written using ISO 8601 / RFC 3339 format: YYYY-MM-DDThh:mm:ss.uuuuuu plus a tail value of Z signifying Zulu time (UTC) or ±hh:mm (an offset from UTC).

修改引數就可以解決問題。

mysql> SET GLOBAL log_timestamps = SYSTEM;
Query OK,0 rows affected (0.00 sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+--------+
| Variable_name | Value |
+----------------+--------+
| log_timestamps | SYSTEM |
+----------------+--------+

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。