太简单了——MySQL的二进制日志二进制恢复数据库

MySQL的二进制日志BINLOG可以说是MySQL最重要的日志,它以事件的形式记录所有DDL和DML语句(除了数据查询语句SELECT之外),并且还包含语言

语句执行时间,MySQL的二进制日志是事务安全的。

一般来说,打开BINLOG日志将导致大约1 %的性能损失。

BINLOG日志有两个最重要的使用场景:

1 ) MySQL主-从复制: MySQL复制在主端启动BINLOG,主端将其二进制日志传递给从端以实现这一点

主从数据一致的目的。

2 )数据的本质是通过使用MySqlbin日志工具恢复数据。

BINLOG日志包括两种类型的文件:

1 )二进制日志索引文件(文件名后缀。index )用于记录所有二进制文件

2 )二进制日志文件(文件名后缀为. 000000 * )记录数据库中的所有DDL和DML (数据查询语句选择除外)语句事件。

首先,打开MySQL - BINLOG日志

将以下配置添加到MySQL配置文件“我的”。加拿大联邦

[, Meisl ]

Log box = MySQL box

重新启动MySQL

Service restart

查看BINLOG日志是否打开

MySQL > displays variables such as " log _ %";

+ - + - +

| variable name | value |

+ - + - +

|日志仓|在|上

二、常用的BINLOG日志操作命令

1 )查看所有BINLOG日志的列表

MySQL > displays the main log;

+ - + - +

| Log Name | File Size |

+ - + - +

| MySQL - bin。000001 | 149 |

| MySQL - bin。000002 | 4102 |

+ - + - +

A group of 2 lines ( 0.00 seconds )

2 )检查主状态,即最后一个(最新的) BINLOG日志的编号名称及其最后一个操作事件的POS端点(位置)值

MySQL > displays master status;

3 )刷新刷新日志,从现在开始,将生成新数量的BINLOG日志文件

MySQL > refresh log;

4 )重置(空)所有BINLOG日志

MySQL > reset primary server;

注:

每当Mysqld服务重新启动时,将自动执行此命令来刷新BINLOG日志。当MySqldump备份数据时,添加- f选项也会刷新BINLOG日志;

第三,使用BINLOG日志恢复数据的方法

语法如下

0000 0xx | MySQL - U User Name - Police Password Database Name

MySqlbin日志有以下常见选项:

- start - datetime :从二进制日志中读取等于或晚于时间戳的指定时间

- STOP - DATETIME :如上所述,从二进制日志中读取指定为小于时间戳或等于本地计算机的时间值

- START - POSITION :从二进制日志中读取指定的位置事件位置作为开始。

- stop - position :当事件到期时,从二进制日志中读取指定的位置事件位置

例如,我们需要恢复所有操作(不包括我们的删除,我们知道删除在755点) :

Mysqlbin log MySQL - bin. 00009 - start position 154 - stop position 755 | MySQL - urot - p my test

由于BINLOG非常好,如果BINLOG打开,就没有必要进行定期备份。不要这样做。为什么,因为BINLOG有大量数据,使用BINLOG进行数据恢复的性能会非常低。仍然需要定期备份数据库。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181026A1A6JZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券