您现在的位置是:百科 >>正文
mysql日志有哪几种
百科9人已围观
简介MySQL的日志系统不是摆设,是排查问题的第一现场。我见过太多人一遇到主从延迟就重启数据库,结果连错误日志都没翻过。今天直接拆开讲,MySQL到底有哪几种日志,各自干什么用。 错误日志:最该先看的东西 ...
MySQL的志有种日志系统不是摆设,是志有种排查问题的第一现场。我见过太多人一遇到主从延迟就重启数据库,志有种结果连错误日志都没翻过。志有种今天直接拆开讲,志有种MySQL到底有哪几种日志,志有种各自干什么用。志有种
错误日志:最该先看的志有种东西
错误日志记录的是MySQL启动、运行、志有种关闭过程中的志有种异常信息。位置通常在datadir下,志有种文件名一般是志有种hostname.err。你可以用SHOW VARIABLES LIKE 'log_error';确认路径。志有种
我印象很深的志有种一次,某台从库突然不同步了,志有种SHOW SLAVE STATUS显示Last_IO_Error是连接超时。但为什么超时?翻错误日志才看到,磁盘满了,relay log写不进去。没有错误日志,你只能瞎猜。
这个日志默认开启,别关。生产环境里,它是你排查崩溃、权限拒绝、端口占用等问题的起点。
二进制日志:复制和恢复的命根子
binlog记录所有对数据产生变更的操作,比如INSERT、UPDATE、DELETE,但SELECT不记。它有三种格式:STATEMENT、ROW、MIXED。现在默认用ROW,因为更安全,不会出现主从数据不一致。
binlog的用处就两个:主从复制和时间点恢复。主库把binlog发给从库,从库重放一遍。恢复时,你用全量备份加上binlog,能回滚到误删前的某一秒。
有个细节要注意:sync_binlog参数控制刷盘频率。设成1最安全,但性能会降。很多互联网公司设成100或0,赌的是机器不宕机。赌输了就是数据丢失,自己权衡。
慢查询日志:性能优化的入口
慢查询日志记录执行时间超过long_query_time的SQL。默认10秒,生产环境建议改成1秒甚至0.5秒。开启方式:SET GLOBAL slow_query_log = ON;,日志路径由slow_query_log_file指定。
我见过一个报表查询扫了800万行,慢日志里清清楚楚写着Rows_examined: 8000000。你不开这个日志,就不知道谁在拖垮数据库。配合pt-query-digest工具分析,能快速定位TOP SQL。
还有个参数log_queries_not_using_indexes,记录没走索引的查询。但线上别随便开,日志量会爆炸。
查询日志:一般不开,开了要命
通用查询日志记录所有SQL语句,包括SELECT。默认关闭,因为写压力太大。你调试时临时开一下可以,生产环境长期开就是给自己找麻烦。磁盘I/O会被吃掉一大块,日志文件涨得飞快。
我只有一次在测试环境开过,为了抓一个ORM框架生成的奇怪SQL。抓完立刻关掉。记住:这个日志是手术刀,不是日常工具。
中继日志:从库专属的临时中转站
relay log只在从库存在。从库的I/O线程把主库binlog拉过来,先写到relay log,然后SQL线程再读取relay log执行。它就像个缓冲区,避免网络波动直接冲击SQL线程。
如果从库崩溃,relay log可能损坏。这时候你会看到Relay log read failure。解决办法通常是RESET SLAVE重新拉取。别手动去改relay log文件,那是自找麻烦。
还有两个偏门的:DDL日志和undo日志
DDL日志在MySQL 8.0里叫ddl_log,记录DDL操作,用于崩溃恢复时保证原子性。undo日志属于InnoDB层,不是Server层日志,它保证事务回滚和MVCC。严格说,undo不是“MySQL日志”这个分类里的,但面试常问,你得知道。
总结一下实际工作中的优先级:错误日志天天看,慢查询日志每周分析,binlog必须开且定期备份,查询日志能不开就不开。relay log出问题先看网络和磁盘。别把日志当负担,它们是数据库在跟你说话。
Tags:
相关文章
网站举报电话
百科网站底部那个“举报电话”四个字,八成是摆设。 我试过。上个月在某电商平台买了个山寨充电器,商品页写得天花乱坠,到手一看连3C认证都没有。找平台客服理论,机器人回话绕了八圈,最后扔给我一个举报电话。打过 ...
【百科】
阅读更多开放外网映射端口风险协议
百科办公室小李上周把家里NAS的端口映射到了公网,就为在外出差时能随时翻照片。第三天,他收到宽带运营商的通知——家里IP已被境外IP持续扫描,且触发了入侵检测告警。小李这事不算罕见,我见过太多人把“端口映 ...
【百科】
阅读更多渗透地坪施工工艺
百科渗透地坪这活儿,看着简单,其实门道全在看不见的地方。上周去一个老厂房改造现场,工人正往水泥地上泼一种乳白色的液体,像浇地似的。甲方监理蹲在旁边,拿手电筒贴着地面照,嘴里念叨:“这遍吃进去多少,全看基层 ...
【百科】
阅读更多