Mysql Binlog

 

目录

 

Binlog日志介绍

Binlog的记录模式

Binlog的文件结构

Binlog的写入机制

Binlog 文件操作

binlog状态查看 & 开启binlog功能

使用mysq lbinlog恢复数据

删除binlog


Binlog日志介绍

二进制log,别于数据库引擎的redo log。

binlog记录记录DML DDL 。

Binlog的记录模式

statement 有点像redis的 rdb持久化。

Binlog的文件结构

 

这个log的格式了解即可,查看log时再来查询。

Binlog的写入机制

Binlog 文件操作

如何做到删库而不跑路..............

binlog状态查看 & 开启binlog功能

windows 的mysql配置文件是my.ini .

linux下的mysql配置文件是 my.cnf。

查看binlog是否开启、binlog目录、

mysql> show variables like '%log_bin%'
    -> ;
+---------------------------------+--------------------------------+
| Variable_name                   | Value                          |
+---------------------------------+--------------------------------+
| log_bin                         | ON                             |
| log_bin_basename                | /var/lib/mysql/mysql-bin       |
| log_bin_index                   | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF                            |
| log_bin_use_v1_row_events       | OFF                            |
| sql_log_bin                     | ON                             |
+---------------------------------+--------------------------------+
6 rows in set (0.00 sec)

查看binlog命令 

mysql> show binary logs;
+------------------+------------+
| Log_name         | File_size  |
+------------------+------------+
| mysql-bin.000343 | 1073742436 |
| mysql-bin.000344 | 1073829002 |
| mysql-bin.000345 | 1073742690 |
| mysql-bin.000346 | 1073747797 |
| mysql-bin.000347 | 1073742425 |
| mysql-bin.000348 | 1073755538 |
| mysql-bin.000349 |  326803210 |
+------------------+------------+
7 rows in set (0.00 sec)

mysql> show master logs;
+------------------+------------+
| Log_name         | File_size  |
+------------------+------------+
| mysql-bin.000343 | 1073742436 |
| mysql-bin.000344 | 1073829002 |
| mysql-bin.000345 | 1073742690 |
| mysql-bin.000346 | 1073747797 |
| mysql-bin.000347 | 1073742425 |
| mysql-bin.000348 | 1073755538 |
| mysql-bin.000349 |  326804487 |
+------------------+------------+
7 rows in set (0.00 sec)


使用mysq lbinlog恢复数据

使用mysqlbinlog 把sql文本dump出来直接用编辑器打开。

 ~]# locate mysql-bin.000348
/var/lib/mysql/mysql-bin.000348
 ~]# mysqlbinlog /var/lib/mysql/mysql-bin.000348 > /opt/0103.sql
 ~]# ll /opt/ |grep 0103
-rw-r--r--  1 root   root     1296229905 Jan  3 00:34 0103.sql
 ~]# ll -ths /opt/ |grep 0103
1.3G -rw-r--r--  1 root   root     1.3G Jan  3 00:34 0103.sql

默认大小是1.3G.

 

删库了,该跑路了。不用,冷静思考不要慌。

先确认一下binlog在不在,现存哪些日志。

1、show master logs;

查看binlog内容

2、show binlog events in  '';

红色框的位置就是恢复的开始和结束位置。

3、使用mysqlbinlog恢复

mysqlbinlog 

mysqldump: 定期全部备份数据库,mysqlbinlog可以做增量备份和数据恢复

删除binlog

binlog超过几天自动删除:

mysql> show variables like '%expire_logs%'
    -> ;
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 7     |
+------------------+-------+

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MyySophia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值