binlog——数据恢复
一、什么是binlog
binlog(binary log)日志,是二进制日志文件。有增量备份和主从复制作用。
增量备份:保存除查询语句外的执行操作,在mysql误操作后,可以通过binlog日志来恢复数据,本次要说的就是这个东西。
主从复制:主节点维护binlog日志文件,从节点从binlog日志文件中同步数据
二、binlog配置
mysql默认不开启binlog配置,需要通过修改mysql的配置文件来启用binlog日志
windows:修改my.ini配置文件
linux:修改my.cnf配置文件
# windows示例
# 1.查看binlog是否开启,如未开启 log_bin 一项为OFF
show variables like '%log_bin%';
# 2.my.ini 配置文件中添加如下配置
[mysqld]
log-bin = mysql-bin # 自定义binlog日志文件存放位置【必须】,以mysql-bin.00000*的形式存放到数据文件夹下
server_id = 666 # 自定义节点id
binlog_format = ROW # binlog日志格式,有 STATEMENT(默认),ROW,MIXED 三种方式。ROW:记录哪条数据被修改了,修改成了什么样子了
# expire_logs_days = 7 # binlog日志过期清理时间
# max_binlog_size = 256m # binlog单个日志文件大小
# binlog_cache_size = 16m # binlog缓存大小
# max_binlog_cache_size = 1024m # 最大binlog缓存大小
# 3.重启mysql服务后再次通过第一步查看binlog开启状态
Variable_name Value
log_bin ON # binlog已开启
log_bin_basename D:\mysql-bin # binlog日志文件存放,后缀名为.00000*
log_bin_index D:\mysql-bin.index # 二进制索引文件存放
三、binlog相关命令
# 1.查询binlog日志
show master logs;
# 数据如下所示,当前有一个名为mysql-bin.000001的binlog日志文件,以及该日志文件的大小
--