新安裝的MySQL 5.7.27,發現error log、general log日志里面日志時間的時區不對。
error log
- 2019-09-11T12:53:23.988658Z 0 [Warning] CA certificate ca.pem is self signed.
- 2019-09-11T12:53:24.007777Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
- 2019-09-11T12:53:24.008117Z 0 [Note] IPv6 is avAIlable.
- 2019-09-11T12:53:24.008148Z 0 [Note] - '::' resolves to '::';
- 2019-09-11T12:53:24.008226Z 0 [Note] Server socket created on IP: '::'.
- 2019-09-11T12:53:24.088216Z 0 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
- Version: '5.7.27-debug-log' socket: '/usr/local/mysql/tmp/mysql.sock' port: 3306 Source distribution
general log
- 2019-09-11T12:56:32.547294Z 2 Query show global variables like 'log_timestamps'
- 2019-09-11T13:01:04.907420Z 2 Query select DATABASE(), USER() limit 1
- 2019-09-11T13:01:04.908582Z 2 Query select @@character_set_client, @@character_set_connection, @@character_set_server, @@character_set_database limit 1
- 2019-09-11T13:01:04.908974Z 2 Statistics
原因:
mysql 5.7.2新增了參數 log_timestamps,用于控制error log、general log、slow log日志記錄使用的時區,只影響寫入文件的時區,不影響寫入表中記錄的時區。默認值是UTC,支持設置為SYSTEM使用系統的時區。
修復:
1)執行 set global log_timestamps=SYSTEM
執行之后,新的日志的時區就會變成系統默認的時區。
2)在my.cnf中添加 log_timestamps=SYSTEM






