如何清除mysql的binlog
如何清除mysql的binlog
如何清除mysql的binlog一、什么是binlog
binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。
二、binlog作用
因为有了数据更新的binlog,所以可以用于实时备份,与master/slave复制
三、和binlog有关参数
log_bin
设置此参数表示启用binlog功能,并指定路径名称
log_bin_index
设置此参数是指定二进制索引文件的路径与名称
binlog_do_db
此参数表示只记录指定数据库的二进制日志
binlog_ignore_db
此参数表示不记录指定的数据库的二进制日志
max_binlog_cache_size
此参数表示binlog使用的内存最大的尺寸
binlog_cache_size
此参数表示binlog使用的内存大小,可以通过状态变量binlog_cache_use和binlog_cache_disk_use来帮助测试。
binlog_cache_use:使用二进制日志缓存的事务数量
binlog_cache_disk_use:使用二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量
max_binlog_size
Binlog最大值,最大和默认值是1GB,该设置并不能严格控制Binlog的大小,尤其是Binlog比较靠近最大值而又遇到一个比较大事务时,为了保证事务的完整性,不可能做切换日志的动作,只能将该事务的所有SQL都记录进当前日志,直到事务结束sync_binlog
这个参数直接影响mysql的性能和完整性sync_binlog=0:
当事务提交后,Mysql仅仅是将binlog_cache中的数据写入Binlog文件,但不执行fsync之类的磁盘 同步指令通知文件系统将缓存刷新到磁盘,而让Filesystem自行决定什么时候来做同步,这个是性能最好的。sync_binlog=n,在进行n次事务提交以后,Mysql将执行一次fsync之类的磁盘同步指令,同志文件系统将Binlog文件缓存刷新到磁盘。
Mysql中默认的设置是sync_binlog=0,即不作任何强制性的磁盘刷新指令,这时性能是最好的,但风险也是最大的。一旦系统绷Crash,在文件系统缓存中的所有Binlog信息都会丢失
四、mysql清除binlog的方法
1、手工删除binlog
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件
格式
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
例如:
mysql> reset master; //删除master的binlog
mysql> reset slave; //删除slave的中继日志
mysql> purge master logs before '2012-03-30 17:20:00'; //删除指定日期以前的日志索引中binlog日志文件
mysql> purge master logs to 'binlog.000002'; //删除指定日志文件的日志索引中binlog日志文件
或者直接用操作系统命令直接删除
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
2、设置日志保留时长expire_logs_days自动删除
查看当前日志保存天数:
show variables like ‘%expire_logs_days%’;
这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:
set global expire_logs_days=7;
设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置
expire_logs_days = 7
3、mysql事件调度器定时删除binlog
事件调度器(Event Scheduler),可以用做定时执行某些特定任务,来取代原先只能由操作系统的计划任务来执行的工作MySQL的事件调度器可以精确到每秒钟执行一个任务,对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。
先查看是否启动这个功能:
SELECT @@event_scheduler;
在使用这个功能之前必须确保 event_scheduler已开启,可执行:
SET GLOBAL event_scheduler = 1;
或我们可以在配置my.cnf文件 中加上event_scheduler = 1
然后来对 binlog 的删除写一个事件.设置天检查,并删除每 4 天前的 binlog 文件.
CREATE EVENT purge_binlog ON SCHEDULE EVERY 1 DAY DO PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 4 DAY);
查看定时事件可以,通过执行如下的语句:
SELECT * FROM information_schema.EVENTS;
可以看到相应的库中的作业信息,其中LAST_EXECUTED字段会反映出相应的作业最近一次的执行时间。
- mysql记录binlog的方式(MySQL使用binlog日志做数据恢复的实现)
- mysql的binlog日志详解(MySQL 有关MHA搭建与切换的几个错误log汇总)
- mysql为什么优选innodb(如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog)
- mysql binlog模式实际使用(实例验证MySQL|update字段为相同的值是否会记录binlog)
- mysql的binlog几种模式(MySQL系列之redo log、undo log和binlog详解)
- mysql利用数据库日志恢复数据(MySQL通过binlog恢复数据)
- docker进入mysql查看路径(Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法)
- mysql如何解析binlog(MySQL的binlog日志使用详解)
- 如何清除mysql的binlog
- mysqlbinlog怎么分析(MySQL中使用binlog时格式该如何选择)
- mysql binlog如何查看(MySQL binlog_ignore_db 参数的具体使用)
- mysqlbinlog优缺点(MySQL Binlog 日志处理工具对比分析)
- binlog怎么恢复mysql数据库(mysql5.7使用binlog 恢复数据的方法)
- mysql binlog日志位置(开启MySQL的binlog日志的方法步骤)
- 泰国美女(泰国人妖和女性如何区分)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
- 菲律宾游学(菲律宾游学中介机构)
- 菲律宾美食(菲律宾美食排行榜前十名)
热门推荐
- idea的tomcat怎么关闭(解决Idea的tomcat启动报多个listener的错误问题)
- python怎么去掉字符串的空格(Python切片操作去除字符串首尾的空格)
- react和antd管理系统(手把手教你从零开始react+antd搭建项目)
- vue验证码怎么用(vue验证码组件使用方法详解)
- mysqlsql按日期统计(sqlserver/mysql按天、按小时、按分钟统计连续时间段数据推荐)
- linux负载均衡(深入理解Linux负载均衡LVS)
- vue用手动上传图片(vue上传图片文件的多种实现方法)
- 群体面试需要注意哪些
- mysql8.0详解(MySQL 8.0 的 5 个新特性,太实用了!)
- js 原生事件代理(如何利用原生JS实现触摸滑动监听事件)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9