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进行数据恢复的性能会非常低。仍然需要定期备份数据库。
领取专属 10元无门槛券
私享最新 技术干货