阿里云 mysql数据库truncate所有表后 恢复过程
记录一次阿里云mysql数据库的所有表被truncate后数据库恢复的过程。
谁遇到这种事情都会情不自禁的喊几声国骂。
还好阿里云做了备份设置。
每周二、周四、周六的全量备份。还有每6个小时的日志备份。
步骤1:先下载一个故障点之前的全量备份,注意【恢复】按钮就不要点了。
毕竟那个按钮操作完能得到什么结果我们是不可控的。
步骤2:在本地安装一个mysql服务端
步骤3:将下载下来的全量备份解压,拷贝yjwlxt文件夹和ibdata1到mysql/data文件夹下。
步骤4:下载需要恢复时间段的日志备份
步骤5:执行下面的脚本
mysqlbinlog -d yjwlxt /Users/hepei/Downloads/mysql-bin.001556 --result-file=001556.sql
这个是生成指定时间段内的执行sql。
mysqlbinlog --start-date='2018-03-30 09:29:58' --stop-date='2018-03-30 11:00:00' -d yjwlxt /Users/hepei/Downloads/mysql-bin.001553 --result-file=001553-1.sql
你恢复的时间段如果超过6个小时,就要相应的下载日志文件。
步骤6:进入mysql
mysql -u root -p
source 001556.sql
步骤7:现在就可以查看在本地的数据库先检查数据是否已经恢复到那个时间段了。
步骤8:如果确认没有问题,就开始利用你的工具进行数据同步。