通过binlog恢复MySQL备份数据
1. create database xtboss character set utf8 collate utf8_bin; *首先创建数据库,注意编码格式*
create database billing character set utf8mb4 collate utf8mb4_bin;
2. grant all privileges on *.* to root@'%' identified by '***password***'; *注意是否有其它特权用户需要创建*
3. source /DBServerbackup/20220101/Full-bak_20220101.sql; *导入最近的备份文件*
4. cp mysql-bin.0000001 /home *将bin-log日志文件拷贝到其它目录,避免数据误操作丢失*
5. flush logs; *系统自动重新创建binlog, 接下来所有操作日志都会写入到新的bin-log文件,方便数据恢复*
6. show binlog events in 'mysql-bin.0000001';

7. 按操作事件的位置进行数据恢复:
/usr/bin/mysqlbinlog --stop-position=435 --database=xtboss /var/lib/mysql/mysql-bin.000001 | /usr/bin/mysql -uroot -p密码 -v xtboss
8. 按操作时间进行数据恢复:
/usr/bin/mysqlbinlog --start-datetime="2022-01-01 00:00:00" --stop-datetime="2022-01-01 23:59:59" --database=xtboss /var/lib/mysql/mysql-bin.000001 | /usr/bin/mysql -uroot -p密码 -v xtboss
9. 通过bin-log日志文件查询指定的操作记录
/usr/bin/mysqlbinlog --start-datetime='2022-01-01 17:00:00' --stop-datetime='2022-01-01 17:30:00' mysql-bin.000975 |grep 'biz_user'
浙公网安备 33010602011771号