binlog介绍以及操作

binlog介绍

我们的SQL执行时,会将sql语句的执行逻辑记录在我们的bin-log当中,什么是bin-log呢?
binlog是Server层实现的二进制日志,他会记录我们的cud操作。Binlog有以下几个特点:
1、Binlog在MySQL的Server层实现(引擎共用)
2、Binlog为逻辑日志,记录的是一条语句的原始逻辑
3、Binlog不限大小,追加写入,不会覆盖以前的日志
如果,我们误删了数据库,可以使用binlog进行归档!要使用binlog归档,首先我们得记录binlog,因此需要先开启MySQL的binlog功能。

windows下binlog日志

1、查看环境变量配置,用户变量下添加mysql路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL的binlog是二进制日志文件,用于记录MySQL数据库中的所有修改操作。当数据库中的数据发生变化时,MySQL会将这些变化记录到binlog中,以便在需要时进行恢复或复制。 binlog主要包括以下三个部分: 1. 事件头(Event Header):用于描述事件的类型、时间戳等基本信息。 2. 事件体(Event Body):用于描述事件的具体内容,如修改的数据、SQL语句等。 3. 事件尾(Event Footer):用于标记事件的结束。 下面举一个例子来说明binlog的使用: 假设我们有一个名为test的数据库,其中有一张名为user的表,包含id、name和age三个字段。我们现在要在这张表中插入一条新的记录,可以执行如下SQL语句: ``` INSERT INTO user (id, name, age) VALUES (1, '张三', 20); ``` 此时MySQL会将这个INSERT操作记录到binlog中,具体的记录内容可能类似于以下内容: ``` # at 1234567890 #190810 12:00:00 server id 1 end_log_pos 1234 Query thread_id=1 exec_time=0 error_code=0 SET TIMESTAMP=1565426400; INSERT INTO test.user (id, name, age) VALUES (1, '张三', 20); # at 1234567890 #190810 12:00:00 server id 1 end_log_pos 5678 Xid = 123456 ``` 上述记录中,第一行是事件头,表示这是一个Query事件;第二行是事件体,记录了具体的SQL语句;第三行是事件尾,标记了事件的结束。 通过binlog,我们可以实现MySQL的数据恢复和数据复制等功能。例如,如果我们需要恢复某个时间点的数据库状态,可以使用mysqlbinlog命令将binlog文件中的操作逆序执行,从而将数据库恢复到指定的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值