MySQL日志文件恢复数据

3/7/2017来源:SQL技巧人气:2983

查看MySQL日志文件存储位置

SHOW VARIABLES LIKE '%query%';

查看binlog是否开启:

show variables like 'log_bin'; show master status; show master logs;

打开liunx 下的配置文件 /etc/my.cnf 添加 log-bin=mysql-bin 开启二进制文件

导出二进制文件 采用从节点4开始到3000结束

C:\PRogram Files\MySQL\MySQL Server 5.6\bin>mysqlbinlog --start-position=4 --stop-position=3000 "C:\ProgramData\MySQL\MySQL Server 5.7\data\mysql.000001" >c:\binlog.sql

导出二进制文件 采用utf8格式

mysqlbinlog --set-charset=utf8 "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql_bin.000001" >d:\binlog.sql

利用二进制起始时间恢复文件

mysqlbinlog "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql_bin.000001" --start-datetime="2017-03-03 16:14:56" --stop-datetime="2017-03-03 17:14:56" | mysql -uroot -p632013

删除列于指定日志之前的所有日志,但不包括指定的日志:

purge binary logs to 'mysql-bin.000002';

删除2017-03-01 00:00:00时间点之前的日志:

purge binary logs before '2017-03-01 00:00:00';

刷新日志

flush logs; reset master;

设置日志过期天数

set GLOBAL expire_logs_days=7;

关于利用二进制恢复文件还有很多解,果然知识海是无穷的