centos7下基于binlog恢复数据

前提:已开启binlog,开启方式看这里

准备工作

  • mysqlbinlog: 其在mysql的目录下
  • mysql-bin.00000?文件: 一般会在mysql的data目录下,入我的就是在 /usr/local/mysql/data 下。

mysqlbinlog使用

  • 转为sql文件(不可直接执行的sql脚本)
./mysqlbinlog --no-defaults --database=tobacco  --base64-output=decode-rows -v /usr/local/mysql/data/mysql-bin.000001   >/home/mysql-bin01.sql
  • 恢复数据
./mysqlbinlog --no-defaults --database=tobacco    /usr/local/mysql/data/mysql-bin.000004  | mysql -uroot -proot -v tobacco
  • 其它参数说明
参数 说明
–start-datetime 开始时间
–stop-datetime 结束时间
more 直接查看

示例

./mysqlbinlog --no-defaults --database=tobacco   --start-datetime="2021-11-26 11:55:20" --stop-datetime="2021-11-26 11:55:23" /usr/local/mysql/data/mysql-bin.000004  | mysql -uroot -proot -v tobacco
./mysqlbinlog --no-defaults --database=tobacco   --start-datetime="2021-11-26 11:55:20" --stop-datetime="2021-11-26 11:55:23" /usr/local/mysql/data/mysql-bin.000004  | mmore
上一篇:源码分析 | ClickHouse和他的朋友们(11)MySQL实时复制之GTID模式


下一篇:MySQL