互联网服务MySQL

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

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

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

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

参与10

1同行回答

wenwen123wenwen123项目经理MM
在需要长期统计慢查询日志的情况下,可以考虑将慢查询日志收集放在从库上,以减少对主库的影响。以下是一些相关建议:配置从库慢查询日志:在从库上启用慢查询日志功能,可以通过修改从库的 MySQL 配置文件(my.cnf 或 my.ini)来实现。在配置文件中设置参数 slow_query_log = 1 和 sl...显示全部

在需要长期统计慢查询日志的情况下,可以考虑将慢查询日志收集放在从库上,以减少对主库的影响。以下是一些相关建议:

  1. 配置从库慢查询日志:在从库上启用慢查询日志功能,可以通过修改从库的 MySQL 配置文件(my.cnf 或 my.ini)来实现。在配置文件中设置参数 slow_query_log = 1 和 slow_query_log_file = ,将慢查询日志记录到指定的文件中。
  2. 主从同步慢查询日志:默认情况下,从库不会记录主库的慢查询日志。为了收集主库的慢查询信息,可以通过在从库上配置参数 log-slave-updates = 1,使从库将主库的慢查询语句也写入慢查询日志。
  3. 同步延迟注意事项:当从库的慢查询日志开启后,可能会增加从库的负载。确保从库的性能足够支持慢查询日志的记录和处理,并且主从同步延迟不会影响业务需求。
  4. 在线修改生效:如果您无法直接修改底层配置并要求在线生效,您可以考虑使用动态修改配置的方式。MySQL 提供了 SET GLOBAL 命令,可以在不重启 MySQL 的情况下动态地修改一些全局参数,包括慢查询相关的参数。例如,您可以使用以下命令实时启用或禁用慢查询日志:

SET GLOBAL slow_query_log = 1; -- 启用慢查询日志
SET GLOBAL slow_query_log = 0; -- 禁用慢查询日志

请注意,这种方式可能会对 MySQL 的性能产生一定的影响,因此在生产环境中应慎重使用。

无论您选择将慢查询日志放在主库还是从库上收集,都需要仔细评估和监控系统的性能和同步情况,确保业务不受影响,并及时采取必要的优化措施。另外,建议在生产环境中进行相关操作之前,先在测试环境或备份环境进行充分测试和验证。

收起
互联网服务 · 2023-07-06
  • 感谢大佬,目前整体的负载不高,都是慢查询收集导致负载飙升,因而影响正常业务,放从库上就可以避免影响业务了。
    2023-07-07
  • 大佬你好,这边设置验证了下,从库收集不到主库的慢日志,从库修改my.cnf文件 log-slave-updates = 1 slow_query_log = on long_query_time= 5 slow-query_log_file='/usr/local/mysql/var/mysql-slow.log' 重启 经过两个小时的观察,主库有新增的慢查询,从库这边一直没有新增。
    2023-07-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 人
  • 问题浏览:1273
  • 最近回答:2023-07-06
  • X社区推广