Distant Coder (@cloak)记一次MySQL数据误删除恢复 中发帖

问题来源:

宝塔新建不久的一个公益游戏数据库数据有问题(此前未做定时任务进行数据库备份),导致APP无法正常加载数据,在目测了数据库数据无特殊异常后,遂尝试挨个清表尝试;
使用create as 创建临时表,结果正式表清空测试完毕后,未将备份表插入正式表,就将备份表删除;此时数据库正式表是空的,备份表被删除;

尝试修复:

数据库为宝塔创建,初始开启binlog(每次数据库操作都会记录日志,所以可以用binlog从头开始恢复数据库),开始使用mysqlbinlog尝试解析binlog;


关闭后台服务,防止新数据增加;
连接数据库,查找binlog存放位置;

show variables like '%log_bin%'
-- sql_log_bin值为on表示binlog开启
-- log_bin_basename为binlog存放地址及文件名前缀为/www/server/da...