淘先锋技术网

首页 1 2 3 4 5 6 7

不作不死,不小心使sqlyog导数据选错服务器。把生产机的数据全部删除了。可怕的数据没有做其他过多的备份,只是每天自动crontab 备份。该怎么办呢?头脑一片空白。快, 赶紧看看日备份有没有。马上切换到备份目录,喜出望外,每天生成的文件一个个都在。这个终于放下了心头大石。于是马上进行恢复操作。

  1. 记录执行错误的执行时间

  1. 查看日志文件情况

mysql>SHOW MASTER LOGS;   

取最后一个 mysql-bin.000045日志文件,并查看一个它的相关事件

mysql>SHOW BINLOG EVENTS IN 'mysql-bin.000045'

  1. 使用FLUSH LOGS 切断最后日志文件的继续记录

mysql> FLUSH LOGS;

  1. 从每天备份的文件回到到现数据库

$mysql -uroot -p honda < /mysqlback/backdata/2023-02-01/mysql_gz_all_2023-02-01.sql

需要等一会

  1. 使用mysqlbinlog 从日志中取得缺少备份的数据并还原

$

./mysqlbinlog --no-defaults --database=mydata --start-datetime="2023-02-02 00:00:01" --stop-datetime="2023-02-02 14:30:00" /usr/local/mariadb/var/mysql-bin.000045 | mysql -uroot -p -v mydata

  1. 到此,数据已完全还原