使用Binlog恢复MySQL数据
# 查看所有的biglog
show master logs;
1
# 查看当前正在写入的binlog文件
SHOW MASTER STATUS;
1
# 查看 Binlog 文件的事件
SHOW BINLOG EVENTS IN 'binlog.000003';
1
# 数据恢复
/var/lib/mysql/binlog.000002指定文件位置--database=tx_mgr指定数据库--start-position 1指定开始位置--stop-position 2104776指定结束位置
mysqlbinlog /var/lib/mysql/binlog.000002 --database=tx_mgr --start-position 1 --stop-position 2104776 | mysql -uroot -p
1
回车后输入数据库密码进行恢复!
# 附:查询
--start-datetime="2019-09-15 10:50:00"开始时间--stop-datetime="2019-09-15 20:50:00"结束时间
mysqlbinlog --no-defaults --database=tx_mgr --start-datetime="2019-09-15 10:50:00" --stop-datetime="2019-09-15 20:50:00" /var/lib/mysql/binlog.000002
1
# 根据时间将日志写入到一个文件
mysqlbinlog --no-defaults --database=tx_mgr --start-datetime="2019-09-15 20:50:00" --stop-datetime="2019-09-18 20:50:00" /var/lib/mysql/binlog.000002 > /temp/binlog.txt
1
# 使用管道命令grep进行过滤
mysqlbinlog --no-defaults --database=tx_mgr --start-datetime="2019-09-15 20:50:00" --stop-datetime="2019-09-18 20:50:00" /var/lib/mysql/binlog.000002 | grep COMMIT
1
Last Updated: 2023/02/16, 14:02:00