您的位置:首页 > 数据库 > MySQL

mysql二进制日志(bin-log)配置及相关操作

2018-01-16 14:17 555 查看
转载:http://yagetang.blog.51cto.com/1780698/1670236

1.开启bin-log

(1)在my.con配置文件里面

[mysqld] #选项添加

log-bin=mysql-bin #日志文件名称,未指定位置,默认数据文件位置

重启mysql服务

log_bin是生成的bin-log的文件名,后缀则是6位数字的编码,从000001开始,按照上面的配置,生成的文件则为:

mysql_bin.000001

mysql_bin.000002

......

2.基本操作

(1)查看所有日志文件:

(2)查看正在写入的日志文件:

(3)查看当前binlog文件内容:

注:

Log_name:此条log存在哪个文件中

Pos:log在bin-log中的开始位置

Event_type:log的类型信息

Server_id:可以查看配置中的server_id,表示log是哪个服务器产生

End_log_pos:log在bin-log中的结束位置

Info:log的一些备注信息,可以直观的看出进行了什么操作

(4)手动启用新的日志文件,一般备份完数据库后执行

(5)删除所有二进制日志,并从新开始记录

另外:

3.二进制日志文件导出

4.恢复数据

强烈建议:做任何恢复之前都给数据库做一个完整备份,新建库进行恢复。

恢复

bin-log是记录着mysql所有事件的操作,可以通过bin-log做完整恢复,基于时间点的恢复,和基于位置的恢复

(1)完整恢复,先执行上次完整备份恢复,再执行自上次备份后产生的二进制日志文件恢复

这样数据库就可以完全的恢复到崩溃前的完全状态

(2)基于时间点的恢复,如果确认误操作时间点为2015-06-04 10:00:00执行如下

然后跳过误操作的时间点,继续执行后面的binlog

其中--stop-date='2015-06-04 9:59:59' 和 --start-date='2015-06-04 10:01:00'

取两时间点

#注:其中的时间是你误操作的时间,而且这个时间点还可能涉及到的不只是误操作,也有可能有正确的操作也被跳过去了。那么执行位置恢复

基于位置恢复,通过查看日志文件信息,确认6259-6362为误操作点

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: