2019年4月3日 星期三

【MYSQL】版本5.7.2日誌參數顯示時間不同

在MySQL 5.7.2 新增了log_timestamps 這個參數,該參數主要是控制error log、genera log,等等記錄日誌的顯示時間參數
2019-04-03T03:32:02.999731Z 1445 [Note] Access denied for user 'root'@'localhost' (using password: YES)
查看error.log,發現顯示時間03:32,但實際時間是上午11點32分

而版本默認安裝後error_log,slow_log 日誌時間戳為UTC,因此會造成與系統時間不一致,與台北時間相差8個小時
mysql> SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| log_timestamps | UTC   |
+----------------+-------+
1 row in set (0.01 sec)

因為log_timestamps   是一個GLOBAL的全局參數, 所以直接在登錄後去set全局參數,重啟後就會直接失效
所以需要在mysql的配置文件my.cnf中[mysqld]中增加一條log_timestamps的配置
[mysqld]
log_timestamps=SYSTEM

重啟DB
service mysql restart

查看參數已更變,再次查看error.log 顯示時間也改變了
mysql> SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| log_timestamps | SYSTEM |
+----------------+--------+
1 row in set (0.00 sec)

# cat error.log
2019-04-03T11:34:39.747758+08:00 2 [Note] Access denied for user 'root'@'localhost' (using password: YES)




沒有留言:

張貼留言