前提:已开启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