0%

误删mysql一条数据后的恢复

1
show variables like 'log_bin';

结果为On表示有开启Log。

以 BT 环境为例,在 /www/server/data/ 看下 mysql-bin.00000x ,找到修改时间最近的那个文件。
我这里是 mysql-bin.000006

1
/www/server/mysql/bin/mysqlbinlog --no-defaults --base64-output=decode-rows -v /www/server/data/mysql-bin.000006 > /www/server/data/mysql-bin.000006.txt

导出为 mysql-bin.000006.txt 文件,这里是所有执行过的sql语句。

但文件太大了,不好下载,把最近3w行导出到新文件:

1
tail -n 30000 /www/server/data/mysql-bin.000006.txt > /www/server/data/mysql-bin.000006_last_3w.txt

下载 mysql-bin.000006_last_3w.txt ,在其中查找到被删数据的 insert 拿出来执行即可。

欢迎关注我的其它发布渠道