大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL日志突然暴涨[通俗易懂],希望您对编程的造诣更进一步.
1. 现象
今天协助其他同学排查问题的时候,发现数据库错误日志文件已经有9G以上了,打开内容查看如下:
===================================== 2020-07-08 13:47:43 0x7fe3723ff700 INNODB MONITOR OUTPUT ===================================== Per second averages calculated from the last 1 seconds ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 28112548 srv_active, 0 srv_shutdown, 18948137 srv_idle srv_master_thread log flush and writes: 47060685 ---------- SEMAPHORES ---------- OS WAIT ARRAY INFO: reservation count 213360683 OS WAIT ARRAY INFO: reservation count 218012898 OS WAIT ARRAY INFO: reservation count 218624956 OS WAIT ARRAY INFO: reservation count 223392430 OS WAIT ARRAY INFO: reservation count 213358783 OS WAIT ARRAY INFO: reservation count 217996917 OS WAIT ARRAY INFO: reservation count 218627068 OS WAIT ARRAY INFO: reservation count 223399094 OS WAIT ARRAY INFO: reservation count 213372264 OS WAIT ARRAY INFO: reservation count 217974752 OS WAIT ARRAY INFO: reservation count 218606657 OS WAIT ARRAY INFO: reservation count 223387430 OS WAIT ARRAY INFO: reservation count 213382268 OS WAIT ARRAY INFO: reservation count 218029924 OS WAIT ARRAY INFO: reservation count 218619464 OS WAIT ARRAY INFO: reservation count 223399870 OS WAIT ARRAY INFO: signal count 2558329753 RW-shared spins 0, rounds 2208700138, OS waits 822920663 RW-excl spins 0, rounds 80631903713, OS waits 1603642807 RW-sx spins 1202513351, rounds 33533328545, OS waits 959708531 Spin rounds per wait: 2208700138.00 RW-shared, 80631903713.00 RW-excl, 27.89 RW-sx ------------------------ LATEST DETECTED DEADLOCK ------------------------ 2020-04-21 19:50:05 0x7fe28a7fd700 ... ... ... Process ID=54642, Main thread ID=140614440048384, state: sleeping Number of rows inserted 5475421722, updated 433989820, deleted 4122238559, read 669572614313 708.29 inserts/s, 34.97 updates/s, 573.43 deletes/s, 29898.10 reads/s ---------------------------- END OF INNODB MONITOR OUTPUT ============================
代码100分
此内容是InnoDB MONITOR的结果(和show engine innodb status结果一样),也就是说开启了InnoDB监视器。
主要涉及的参数有innodb_status_output 和 innodb_status_output_locks ,这两个系统变量是用来启用标准innodb监控和 InnoDB锁监控的,查看本实例参数情况:
代码100分mysql> show global variables like "%innodb_status%"; +----------------------------+-------+ | Variable_name | Value | +----------------------------+-------+ | innodb_status_output | ON | | innodb_status_output_locks | ON | +----------------------------+-------+ 2 rows in set (0.01 sec)
说明确实已经开启了。
2. 关闭INNODB MONITOR
可以在线关闭INNODB MONITOR,但是在关闭前建议先将原日志备份(重命名)
mv mysqld.log mysqld.log.20200708
再修改参数,关闭监控
代码100分mysql> set global innodb_status_output="OFF"; Query OK, 0 rows affected (0.00 sec) mysql> set global innodb_status_output_locks="OFF"; Query OK, 0 rows affected (0.00 sec) mysql> flush logs;
时间有限,今天暂时就简单说明现象及引起日志暴涨的原因,后续有机会在关注日志内容及相关参数意义。
想了解更多内容或参与技术交流可以关注微信公众号【数据库干货铺】或进技术交流群沟通。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7517.html