解决MySQL 5.7比本地时间慢8小时

本文介绍了MySQL5.7.2及以后版本中log_timestamps参数的作用及其配置方法。该参数控制错误日志和通用日志等的时间戳显示方式,默认为UTC时间,可能导致与本地时间存在时差。通过设置为SYSTEM可以解决这一问题。
官网原话:
This variable was added in MySQL 5.7.2. Before 5.7.2, timestamps in log messages were written using the local system time zone by default, not UTC. If you want the previous log message time zone default, set log_timestamps=SYSTEM.
在MySQL 5.7.2 新增了 log_timestamps 这个参数,该参数主要是控制 error log、genera log,等等记录日志的显示时间参数。
在 5.7.2 之后改参数为默认 UTC 这样会导致日志中记录的时间比中国这边的慢,导致查看日志不方便。修改为 SYSTEM 就能解决问题
SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| log_timestamps | UTC    |
+----------------+--------+
 
SET GLOBAL log_timestamps = SYSTEM;
Query OK, 0 rows affected (0.00 sec)
 
SHOW GLOBAL VARIABLES LIKE 'log_timestamps';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| log_timestamps | SYSTEM |
+----------------+--------+
vim /etc/my.cnf
log_timestamps = SYSTEM;

转载于:https://www.cnblogs.com/centos-python/articles/8521483.html

<think>嗯,用户想了解MySQL 5.7.29版本的特性以及相关问题解决方案。首先,我需要回忆一下这个版本的具体信息。MySQL 5.7系列是一个长期支持版本,5.7.29作为其中一个更新,可能包含了一些重要的补丁和功能改进。我记得在5.7版本中,InnoDB引擎有了一些优化,比如在线DDL操作的改进,还有JSON功能的增强,比如新增的JSON_MERGE_PRESERVE函数。此外,性能模式可能也增加了新的监控指标,帮助用户更好地分析数据库性能。 接下来,用户可能遇到的问题可能包括升级到5.7.29后的兼容性问题,或者某些特定功能的使用问题。比如,升级时需要注意旧版本的数据兼容性,可能需要运行mysql_upgrade工具。另外,在配置方面,新版本可能引入了新的参数,或者废弃了一些旧的参数,用户如果不更新配置文件可能会遇到问题。 还有,安全方面的修复也是这个版本的重点。比如,可能修复了一些漏洞,用户需要确保他们的系统已经应用了这些补丁。此外,复制相关的改进,比如组复制(Group Replication)的稳定性提升,用户在使用时需要注意配置是否正确,网络延迟是否在可接受范围内。 关于JSON功能,用户可能在处理复杂JSON数据时遇到性能问题,这时候需要优化查询语句,或者合理使用索引。InnoDB的全文检索功能如果性能不佳,可能需要调整innodb_ft_min_token_size参数,或者优化表结构。 另外,备份恢复也是一个常见的问题。如果用户使用物理备份工具如Percona XtraBackup,需要确认工具版本是否支持MySQL 5.7.29,否则可能会遇到兼容性问题。 用户可能还想知道如何监控新版本的性能,这时候可以建议他们使用Performance Schema和sys schema来获取实时数据。此外,查询日志的分析也是优化性能的重要手段。 最后,需要确保提供的解决方案准确无误,并且引用相关的文档或社区资源,比如官方文档、MySQL社区论坛等,帮助用户进一步解决问题。同时,生成的相关问题需要覆盖用户可能关心的其他方面,比如升级注意事项、性能调优、安全加固等,这样用户可以根据自己的需求深入查阅。</think>### MySQL 5.7.29 版本特性及问题解决方案 #### 一、核心特性 1. **性能优化** - **InnoDB改进**:支持在线调整`innodb_compress`参数,减少表碎片化问题[^1]。 - **JSON增强**:新增`JSON_MERGE_PRESERVE()`函数,支持合并多个JSON文档并保留重复键值。 - **复制性能**:并行复制优化,支持按逻辑时钟分发事务,提升主从同步效率。 2. **安全增强** - 默认启用`sha256_password`插件,加强密码加密[^2]。 - 修复CVE-2020-1471漏洞,防止本地权限提升攻击。 3. **功能扩展** - **GIS支持**:优化空间索引查询性能,提升$R树$结构的数据检索效率。 - **SYS Schema更新**:新增`statements_with_temp_tables`视图,监控临时表使用情况。 --- #### 二、常见问题及解决方案 1. **升级后兼容性问题** - **现象**:从5.7.28升级到5.7.29后,部分存储过程报错。 - **解决**:运行`mysql_upgrade`工具更新系统表,并检查`sql_mode`是否包含`NO_AUTO_CREATE_USER`[^3]。 2. **JSON查询性能下降** - **现象**:`JSON_EXTRACT()`函数在大数据集下响应缓。 - **优化**:对JSON字段添加虚拟列并创建索引: ```sql ALTER TABLE users ADD COLUMN name_virtual VARCHAR(50) GENERATED ALWAYS AS (user_data->>'$.name'); CREATE INDEX idx_name ON users(name_virtual); ``` 3. **复制延迟异常** - **现象**:主从延迟波动较大。 - **排查**:检查`slave_parallel_workers`配置,建议设置为CPU核心数的50%~70%。若使用GTID,需验证`gtid_mode=ON`和`enforce_gtid_consistency=ON`[^4]。 4. **内存泄漏(特定场景)** - **现象**:长时间运行后`innodb_buffer_pool`占用持续增长。 - **临时方案**:设置`innodb_buffer_pool_dump_at_shutdown=ON`,并在低峰期重启实例释放内存。 --- #### 三、配置建议 1. **参数调优** - 对于高并发场景: ```ini innodb_thread_concurrency = 0 # 取消并发线程限制 innodb_flush_log_at_trx_commit = 2 # 平衡数据安全与性能 ``` - 避免全表扫描: ```sql SET GLOBAL optimizer_switch='block_nested_loop=off'; ``` 2. **监控指标** - 关键指标公式: $$ \text{缓存命中率} = \frac{\text{innodb_buffer_pool_reads}}{\text{innodb_buffer_pool_read_requests}} $$ - 推荐通过Performance Schema监控锁竞争: ```sql SELECT * FROM performance_schema.events_waits_summary_global_by_event_name WHERE EVENT_NAME LIKE '%wait/io/table%'; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值