mysql的binlog和slow_log慢日志
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | redo undo 锁 ----------------------------------------- 日志管理 log-error= /var/log/mysql .log 二进制日志的“总闸” 作用: 1、是否开启 2、二进制日志路径 /data/mysql/ 3、二进制日志文件名前缀mysql-bin 4、文件名以 "前缀" .000001~N log-bin= /data/mysql/mysql-bin 二进制日志的“分开关” 只有总闸开启才有意义,默认是开启状态。 我们在有些时候会临时关闭掉。 只影响当前会话。 sql_log_bin=1 /0 二进制日志的格式 statement,语句模式: 记录信息简洁,记录的是SQL语句本身。但是在语句中出现函数操作的话,有可能记录的数据不准确。 5.6中默认模式,但生产环境中慎用,建议改成row。 row,行模式 表中行数据的变化过程。 记录数据详细,对IO性能要求比较高 记录数据在任何情况下都是准确的。 生产中一般是这种模式。 5.7以后默认的模式。 mixed,混合模式 经过判断,选择row+statement混合的一种记录模式。 一般不用。 binlog的查看方式: 1、查看binlog原始信息 [root@db01 mysql-5.6.36] # mysqlbinlog mysql-bin.000001 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; mysqbin mysql-bin.000002 2、在row模式下,翻译成语句 mysqlbinlog -- base64 -output= 'decode-rows' - v mysql-bin.000002 3、查看binlog事件 show binary logs; 所有在使用的binlog信息 show binlog events in '' 4、如何截取binlog内容,按需求恢复(常规思路) (1)、show binary logs; show master status; (2)、show binlog events in '' 从后往前看,找到误操作的事务,判断事务开始position和结束position (3)、把误操作的剔除掉,留下正常操作到2个sql文件中 (4)、先测试库恢复,把误操作的数据导出,然后生产恢复。 遇到的问题: 1、时间长 2、对生产数据有一定影响,有可能会出现冗余数据 3、 有什么好的解决方案。 1、flashback闪回功能(扩展) 2、通过备份,延时从库 -------------------------------- SET GLOBAL expire_logs_days = 7; PURGE BINARY LOGS BEFORE now() - INTERVAL 3 day; PURGE BINARY LOGS TO 'mysql-bin.000010' ; reset master ------------------------ 慢日志 slow log 调优过程中的工具日志。 统计收集慢得语句 ------ 设定慢查询的阀值,超出次设定值的SQL即被记录到慢查询日志,缺省值为10s,现有版本可以指定零点几秒 long_query_time 指定是否开启慢查询日志 slow_query_log 指定慢日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log slow_query_log_file 查询检查返回少于该参数指定行的SQL不被记录到慢查询日志 min_examined_row_limit 不使用索引的慢查询日志是否记录到索引 log_queries_not_using_indexes 慢日志扩展: Anemometer实现pt-query-digest 图形化 https: //www .cnblogs.com /xuanzhi201111/p/4128894 .html |
时来天地皆同力,运去英雄不自由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!