MySQL错误日志时间和系统时间不同解决 原创 数据库 2022年3月5日 18:07 夏至未至 801 当前内容 3184 字,在路上,马上到,马上到 ### 问题发现 [root@localhost /]# cat /var/log/mysqld.log ... 2022-03-01T09:42:30.278833Z 0 [Note] Server socket created on IP: '::'. 2022-03-01T09:42:30.446967Z 0 [Note] Event Scheduler: Loaded 0 events 2022-03-01T09:42:30.483541Z 0 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.7.37' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) 2022-03-01T09:42:31.493750Z 0 [Note] InnoDB: Buffer pool(s) load completed at 220301 1:42:31 [root@localhost /]# [root@localhost /]# date Mon Mar 1 01:44:41 PST 2022 [root@localhost /]# 日志时间和系统时间相差8小时,不爽就改。 ### 问题分析 此问题和数据库的配置有关,配置关键字为 `log_timestamps`,此变量控制写入错误日志的消息中时间戳的时区,以及写入文件的一般查询日志和慢速查询日志消息。不影响一般查询日志和慢查询日志消息写入表的时区(mysql.general_log, mysql.slow_log)。从这些表中检索到的行可以使用 CONVERT_TZ()或通过设置会话time_zone系统变量从本地系统时区转换为任何所需的时区。 允许的log_timestamps 值为UTC(默认值)和 SYSTEM(本地系统时区)。看看当前问题系统此配置: mysql> mysql> show variables like 'log_timestamps'; +----------------+-------+ | Variable_name | Value | +----------------+-------+ | log_timestamps | UTC | +----------------+-------+ 1 row in set (0.00 sec) mysql> 故解决此问题,改配置即可。 ### 问题解决 [root@localhost /]# vim /etc/my.cnf [root@localhost /]# [root@localhost /]# cat /etc/my.cnf [mysqld] ... log_timestamps=SYSTEM [root@localhost /]# 重启实例,验证结果: [root@localhost /]# systemctl restart mysqld [root@localhost /]# [root@localhost /]# mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.37 MySQL Community Server (GPL) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show variables like 'log_timestamps'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | log_timestamps | SYSTEM | +----------------+--------+ 1 row in set (0.00 sec) mysql> 日志时间正常 [root@localhost /]# cat /var/log/mysqld.log ...... 2022-03-07T02:00:30.876336-08:00 0 [Note] Server socket created on IP: '::'. 2022-03-07T02:00:30.876871-08:00 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool 2022-03-07T02:00:30.880887-08:00 0 [Note] InnoDB: Buffer pool(s) load completed at 220307 2:00:30 2022-03-07T02:00:30.889084-08:00 0 [Note] Event Scheduler: Loaded 0 events 2022-03-07T02:00:30.893161-08:00 0 [Note] /usr/sbin/mysqld: ready for connections. Version: '5.7.37' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) [root@localhost /]# date Mon Mar 7 02:01:09 PST 2022 [root@localhost /]# 官方文档参考:[log_timestamps](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_timestamps "log_timestamps") 本文标题: MySQL错误日志时间和系统时间不同解决 本文作者: 夏至未至 发布时间: 2022年3月5日 18:07 最近更新: 2022年3月7日 18:07 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 log_timestamps(1) 上一个 MySQL整实例逻辑备份脚本 下一个 SELinux 当前文章评论暂未开放,请移步至留言处留言。