mysql删除二进制日志文件
一.RESET MASTER
这个语句可以验证首次配置主机备机是否成功、步骤如下:
1. 启动master和 slave,开启replication (即 复制)
注:replication (复制) 也是mysql一个重要的技术
2.运行一些测试的语句看数据是否能够复制到 slave上面
3.当复制运行正常的话,就 stop slace 然后在slave上面执行 reset slave,去掉不需要的数据
4.在master上面执行reset master 去掉2中产生的数据
可以删除列于索引文件中的所有二进制日志,把二进制日志索引文件重新设置为空,并创建一个新的二进制日志文件
当有slave正在运行的时候请不要执行这个语句。
和 PURGE MASTER LOGS 的区别有2点:
1.当执行 RESET MASTER 的时候 所有二进制日志 都重新设置为空 以 .000001 编号结尾的文件都被清空
而PURGE MASTER LOGS 却没有重置
2.RESET MASTER 有备机正在运行的时候不能执行 而 PURGE MASTER LOGS 是可以执行的。
注意:RESET 这个命令要慎用 只是在初始化环境 删除垃圾数据的时候取使用 目前正在运行的库 最好是不要去执行!!!!
二.PURGE MASTER LOGS
语法
PURGE {MASTER | BINARY} LOGS TO 'log_name' --用于删除指定的日志
PURGE {MASTER | BINARY} LOGS BEFORE 'date' --用于删除日期之前的日志,BEFORE变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式
如:(MASTER 和BINARY 在这里都是等效的)
PURGE MASTER LOGS TO 'test-bin.000001';
PURGE MASTER LOGS BEFORE '2011-01-0100:00:00';
如果您有一个活性的slave,该slave当前正在读取您正在master试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误;如果slave是停止的,同时碰巧要清理的日志是其想要读取的日志之一,则salve启动后不能复制这些日志;当slave正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1.在slave上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2.使用SHOW MASTER LOGS获得master上的一系列日志。
3.在所有的slave中判定最早的日志。这个是目标日志。如果所有的slave是更新的,这是清单上的最后一个日志。
4.将所有要删除日志的备份
三. 指定自动清理日志的参数
my.cnf 配置文件中的参数 expire_logs_days 默认值为0,表示“不要自动删除”
启动时和二进制日志循环时可能删除
语法:mysql -u -p进去之后 执行:
set GLOBAL expire_logs_days=5;
但是设置了 不会马上生效
需要执行:
1.执行 flush logs;
(关闭当前的二进制日志文件并创建一个新文件,新的二进制日志文件的名字在当前的二进制文件的编号上加1。)
2.或者等待当前的日志文件写满设定的大小(重启服务器可选)
expire_logs_days=5 --表示自动删除5天以前的日志
备注:当有备机的时候一定要注意master对slave的影响。
mysql删除二进制日志文件的更多相关文章
- MYSQL 删除二进制日志的 3 个方法
方法 1: reset master; ------------------ 删除前: 删除日志: 删除后: ---------------------------------------- 可 ...
- 如何通过Mysql的二进制日志恢复数据库数据
经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响.所以本文我们将和大家一起分享学习下如何通过Mysql的二机制日志(binlo ...
- 实战:mysql检查物理磁盘中的二进制日志文件是否有丢失
版权声明:日常札记,乐于分享 https://blog.csdn.net/yangzhawen/article/details/32103555 场景:有时候由于磁盘损坏或人为原因错误删除了磁盘中的二 ...
- mysql二进制日志文件出错导致mysql服务无法启动
今天打开phpmyadmin发现连不上mysql数据库,重新启动mysql启动不起来,查看日志发现例如以下错误 <span style="font-family:SimSun;font ...
- MySQL二进制日志文件Binlog的三种格式以及对应的主从复制中三种技术
二进制日志文件Binlog的格式主要有三种: 1.Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面. 2.ROW:基于行级别,每一行数据的变化都会记 ...
- mysql中如何开启binlog?开启二进制日志文件?binary log?
需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...
- MySQL复制(二)--基于二进制日志文件(binlog)配置复制
基础环境: 主库 从库 服务器IP地址 192.168.10.11 192.168.10.12 版本 5.7.24 5.7.24 已存在的数据库 mysql> show databases; ...
- MySQL使用二进制日志恢复数据库
一.二进制日志简介 MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复. 在my.ini文件中设置了log-bin, ...
- mysql学习------二进制日志
一.什么是二进制日志 1.记录对数据发生或潜在发生更改的sql语句 2.二进制格式保存 3.用途广泛,包括 a.查看数据库变更历史 b.数据库增量备份 c.数据库灾难恢复 d.mysql replic ...
随机推荐
- Yii2 使用 Joins 查询
Join() JOIN_TYPE = INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 等等 语法 $query = new ...
- C# Emit动态代理生成一个实体对象
/// <summary> /// 使用Emit动态代理收集实体信息 /// </summary> /// <typeparam name="T"&g ...
- windows下vmware10.0 安装centos7
centos7.0-1506, 1511, 是指2015年, 06月份, 11月份. 这是rhel ubuntu发布新版本的时间. centos7.0 只提供了64位的系统下载: x86_64: we ...
- Cannot install NodeJs: /usr/bin/env: node: No such file or directory
安装doxmate时,doxmate地址是:https://github.com/JacksonTian/doxmatenpm install doxmate -g 安装完后把错误:Cannot in ...
- shell脚本笔记(原创不断记录)
今天开始自己的shell脚本练习,刚好公司有太服务器,要时间对数据的cp是按月的: 考虑:首先寻找规律,发现都放置在/opt/www/aaa/ 里面有很多的2级和3级目录和文件,但我追踪要备份的是年 ...
- 2015年11月26日 Java基础系列(四)class的定义,继承和实现interface
序,类的设计是JAVA操作的核心,面对对象思想中一切皆对象. 一.类定义中的变量 静态成员变量,为类所有,称为类变量:只有一份,编译时即分配值,使用关键字static声明. 非静态成员变量,每个实例一 ...
- [译]Mongoose指南 - Document
更新 有几种方式更新document. 先看一下传统的更新方法 Tank.findById(id, function(err, tank){ if(err) return handleError(er ...
- Tomcat 6 --- 你很少使用的安全管理SecurityManager
试想一下,如果你的JSP页面中包含一句代码“System.exit(1);”,你的web应用访问到该JSP时,会发生什么? 一般使用tomcat可能都没有注意到这个问题,本篇主要讲述tomcat 6中 ...
- 清北学堂模拟day6 花
[问题描述] 商店里出售n种不同品种的花.为了装饰桌面,你打算买m支花回家.你觉得放两支一样的花很难看,因此每种品种的花最多买1支.求总共有几种不同的买花的方案?答案可能很大,输出答案mod p的值. ...
- UML浅析
UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程. UML模 ...