mysql5.7,启用基于logical_clock的多线程复制,发现error日志增长很快,查看日志发现大量关于多线程复制的Note级别日志。

2018-07-03T03:22:01.638371+08:00 8941 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 298; events assigned = 3043329; worker queues filled over ove rrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 725810947700 waited (count) when Workers occupied = 5346 wait ed when Workers occupied = 0 2018-07-03T03:24:22.589147+08:00 8941 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 141; events assigned = 3044353; worker queues filled over ove rrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 725810947700 waited (count) when Workers occupied = 5346 wait ed when Workers occupied = 0 2018-07-03T03:27:00.554437+08:00 8941 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 158; events assigned = 3045377; worker queues filled over ove rrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 725818557700 waited (count) when Workers occupied = 5346 wait ed when Workers occupied = 0 2018-07-03T03:32:00.079699+08:00 8941 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 300; events assigned = 3047425; worker queues filled over ove rrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 725846344900 waited (count) when Workers occupied = 5346 wait ed when Workers occupied = 0 2018-07-03T03:34:04.567887+08:00 8941 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 124; events assigned = 3048449; worker queues filled over ove rrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 725852036800 waited (count) when Workers occupied = 5346 wait ed when Workers occupied = 0 

通过日期可以看到,日志的打印频率大概在3分钟左右。error log是mysql 出现问题时的重要分析日志,大量的note日志可能很快就把重要日志信息埋没,给分析日志信息带来了不便。而且日志量随时间递增,还必须有rotate机制,不然占用大量磁盘空间。那么这个日志的打印频率能不能调低一些呢?

我看了下源码这块的实现(rpl_slave.cc 4800)

  *ptr_ev= NULL; // announcing the event is passed to w-workerif (rli->is_parallel_exec() && rli->mts_events_assigned % 1024 == 1) { time_t my_now= my_time(0); if ((my_now - rli->mts_last_online_stat) >= mts_online_stat_period) { sql_print_information("Multi-threaded slave statistics%s: " "seconds elapsed = %lu; " "events assigned = %llu; " "worker queues filled over overrun level = %lu; " "waited due a Worker queue full = %lu; " "waited due the total size = %lu; " "waited at clock conflicts = %llu " "waited (count) when Workers occupied = %lu " "waited when Workers occupied = %llu", rli->get_for_channel_str(), static_cast<unsigned long> (my_now - rli->mts_last_online_stat), rli->mts_events_assigned, rli->mts_wq_overrun_cnt, rli->mts_wq_overfill_cnt, rli->wq_size_waits_cnt, rli->mts_total_wait_overlap, rli->mts_wq_no_underrun_cnt, rli->mts_total_wait_worker_avail); rli->mts_last_online_stat= my_now; 

我们从两个if语句可以看到,这个信息的打印受三个条件的控制:

  1. rli->is_parallel_exec() 这是个inline函数,它判断是否在使用多线程复制
  2. rli->mts_events_assigned % 1024 == 1 多线程执行的event个数刚刚超过1024个。也就是说按evnet个数来算,每隔1024个event打印一次。
  3. 最后还有个时间限制:(my_now - rli->mts_last_online_stat) >=
    mts_online_stat_period,距离上一次统计超过既定的间隔mts_online_stat_period。这个变量是60*2 ,代码里写死了。
 /*Statistics go to the error log every # of seconds when --log-warnings > 1*/const long mts_online_stat_period= 60 * 2; 

由此可以判断,这个日志打印频率最少为2分钟,没法改了。但上面的代码注释中给了提示,当--log-warnings > 1时,这个统计间隔才生效,意味着可以通过修改日志打印级别来控制。

自mysql5.7.2,log-warnings被废弃,引用了新的变量log_error_verbosity。这个变量有三个值:1、2、3,默认是3. 他们的意义是:
1 -- Errors Only
2 -- Errors and warnings
3 -- Errors, warnings, and notes

我们可以修改这个变量为2 ,不再打印Note信息。

set global log_error_verbosity=2;

可以写到配置文件中去

参考文档:http://www.bubuko.com/infodetail-2581170.html

原文地址:https://www.jianshu.com/p/5d14a5f76df5

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

修改mysql5.7的错误日志级别相关推荐

  1. oracle 删除jobs日志,修改Oracle的Job Scheduler 日志级别及删除运行日志

    修改Oracle的Job Scheduler 日志级别及删除运行日志 发布时间:2020-07-04 01:30:09 来源:51CTO 阅读:2747 作者:孤月2012 Job 运行久了会产生大量 ...

  2. oracle sql删除job,修改Oracle的Job Scheduler 日志级别及删除运行日志

    Oracle的Job 运行久了会产生大量运行日志,这些信息可通过下面的方式清除: 1.创建job: Create job links to previous job class. DBMS_SCHED ...

  3. oracle 修改jobs执行时间,修改Oracle的Job Scheduler 日志级别及删除运行日志

    Job 运行久了会产生大量运行日志,这些信息可通过下面的方式清除: 1.创建job:Create job links to previous job class. DBMS_SCHEDULER.cre ...

  4. php的错误日志级别 error_report

    ; Error Level Constants: ; E_ALL             - All errors and warnings (includes E_STRICT as of PHP ...

  5. php fpm 日志级别,Php 错误日志级别

    ; E_ALL             所有错误和警告(除E_STRICT外) ; E_ERROR           致命的错误.脚本的执行被暂停. ; E_RECOVERABLE_ERROR    ...

  6. Spring Boot 2动态修改日志级别

    本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 作为程序猿,定位问题是我们的日常工作,而日志是我们定位问题非常重要的依据.传统方式定位问题时,往往是如下 ...

  7. 动态修改logback日志级别

    背景 应用在线上部署时,一般日志级别会设置为info级别.一些流量高的应用,甚至会设置为error级别.这样日志打的少了,日志文件就不会变的太大,接口的性能也会更高.但缺点也显而易见,出现问题时,由于 ...

  8. mysql的报错日志哪里看_mysql错误日志

    ### 错误日志是非常有用的东西,在上一篇 mysql字符集 中,因为看了网上很多博客,修改字符集的时候,在服务端` [mysqld]`下添加的变量内容为(博客里写的是这个变量,有很多博客都这样写,可 ...

  9. php fpm 不写errorlog,PHP-FPM不写入错误日志

    PHP-FPM不写入错误日志 我刚刚安装了一个nginx + php-fpm服务器. 一切似乎很好,除了PHP-FPM从不将错误写入其日志. fpm.conf [default] listen = / ...

最新文章

  1. 多快好省的宏基因组研究技巧
  2. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...
  3. hdu2482 字典树+spfa
  4. 029_html样式
  5. 基于MySQL和DynamoDB的强一致性分布式事务实践
  6. 你真的会读datasheet吗?
  7. java 绑定微信号开发_Java开发中的更多常见危险信号
  8. CodeSmith将模板文件批量生成文件的方法
  9. java常问的报错_java常见报错及解决
  10. 图解 CSS (2): border - 边框
  11. 数据库版本自带的mysql replication双机主从备份安装配置
  12. hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)...
  13. 鸿蒙系统电脑配置,鸿蒙系统 你装机了吗?
  14. Nanopore sequencing and assembly of a human genome with ultra-long reads
  15. vscode中setting设置
  16. 教师利用计算机中的视频图片,多媒体在计算机教学中的作用
  17. 为什么学习Vue框架??
  18. 家用NAS安装大礼包:PVE+OMV+常用soft详细安装教程
  19. 4 win10环境下+vs2017+pcl1.9环境配置
  20. C++常用函数汇总(持续更新)

热门文章

  1. jQuery Mobile优秀网站及资源汇总
  2. 假如以产品经理为主角,拍一部电视剧...
  3. Win10系统恢复IE 11浏览器
  4. Conda:1秒钟修改虚拟环境名称
  5. 断网安装是什么意思_ARP攻击是什么意思 受到ARP断网攻击的详细解决办法图解...
  6. Maven中option与exclusion的区别
  7. 网页设计创意书(第2卷) 彩页 完整版PDF下载
  8. 美国计算机科学研究生学费,美国计算机硕士留学费用
  9. 热血三国1年2500w
  10. 冒泡法排序c语言程序指针,C语言_冒泡排序(指针)