如何清除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 binlog日志位置(开启MySQL的binlog日志的方法步骤)
- mysql记录binlog的方式(MySQL使用binlog日志做数据恢复的实现)
- docker进入mysql查看路径(Docker 环境运行 Mysql 和开启 Binlog 配置主从同步的设置方法)
- 如何清除mysql的binlog
- mysql binlog如何查看(MySQL binlog_ignore_db 参数的具体使用)
- mysql为什么优选innodb(如何区分MySQL的innodb_flush_log_at_trx_commit和sync_binlog)
- mysql利用数据库日志恢复数据(MySQL通过binlog恢复数据)
- mysql的binlog几种模式(MySQL系列之redo log、undo log和binlog详解)
- mysql binlog模式实际使用(实例验证MySQL|update字段为相同的值是否会记录binlog)
- mysqlbinlog怎么分析(MySQL中使用binlog时格式该如何选择)
- binlog怎么恢复mysql数据库(mysql5.7使用binlog 恢复数据的方法)
- mysqlbinlog优缺点(MySQL Binlog 日志处理工具对比分析)
- 夕云天际飞,亢龙化太极(夕云天际飞亢龙化太极)
- 爱情可以当饭吃吗(怎么回复)
- 高考数学题(高考数学题基础题占多少分)
- 没钱只能吃土(没钱要吃土了幽默短信发朋友圈)
- 今年考高会很难吗(今年高考会考试吗)
- 盘古开天地 他创造了世界,谁创造了盘古 盘古是伏羲吗(盘古开天地他创造了世界)
热门推荐
- vmware esxi账号密码(VMware Esxi忘记root密码成功找回的操作方法)
- js数组去重复
- php支付系统(php实现的支付宝网页支付功能示例基于TP5框架)
- phpstudy中php用什么版本(phpstudy是什么?phpstudy有什么用?)
- dedecms如何提高网站权重(dede网站内容页如何调取栏目页标题及关键字组合为seo标题)
- dedecms标签插入时间(dedecms修改按tag标签显示全站相关内容的方法)
- sqlserver2012海量数据查询(SQL Server 2012 多表连接查询功能实例代码)
- python怎么自动刷抖音(python实现抖音点赞功能)
- 自建docker镜像仓库(使用docker制作分布式lnmp 镜像)
- dedecms无缩略图怎么设置(DEDECMS转移data目录后 验证码不显示解决办法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9