互联网服务MySQL

Mysql的慢查询可以放到从库吗?

  近期出现生产慢查询导致机器负载爆掉,因为业务特殊性,需要长期统计慢查询日志。所以无法关闭慢查询功能,有没有什么办法既可以保留慢查询又不影响主库呢?

是否可以把慢查询放到从库上收集?如果放到从库上能收集到主库的慢查询信息吗?
目前主从同步用的是mysql自带的binlog复制。

慢查询属于底层配置,无法直接修改生效,必须重启生效。
对于生产环境是否有其它方法绕过直接在线生效?

参与10

ChatGPT 回答

针对这个问题,可以考虑以下解决方案:

  1. 将慢查询日志收集到从库上

可以在从库上开启慢查询日志,并将慢查询日志收集到从库上,这样就可以避免影响主库的性能。在从库上收集到的慢查询日志可以通过分析工具进行分析,找到慢查询的原因并进行优化。

  1. 通过MySQL复制机制将慢查询日志同步到从库上

可以通过MySQL自带的binlog复制机制将主库上的慢查询日志同步到从库上。这样可以保证从库上的慢查询日志与主库上的慢查询日志一致,方便进行分析和优化。

  1. 在线修改慢查询配置

可以使用MySQL的SET GLOBAL命令在线修改慢查询配置,而不需要重启MySQL服务。例如,可以使用以下命令将慢查询阈值设置为2秒:

SET GLOBAL slow_query_log = 1;
SET GLOBAL long_query_time = 2;

需要注意的是,在线修改慢查询配置可能会对MySQL的性能产生一定的影响,因此需要谨慎使用。

总之,以上三种方案都可以解决生产环境中出现的慢查询问题。具体选择哪种方案,需要根据实际情况进行评估和选择。

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-07-06
  • 关注会员:2 人
  • 问题浏览:1332
  • 最近回答:2023-07-06
  • X社区推广