MySQL数据库误操作,将数据库恢复到误操作之前

2024-01-01 04:16:22

MySQL数据库误操作,将数据库恢复到误操作之前,通过二进制日志文件恢复数据到误操作之前。

查看数据库二进制日志文件:

mysql> show binlog events in 'mysql-bin.000001';

依据上图,退出数据库,执行mysqlbinlog命令,截取二进制日志文件数据/data/3307/mysql-bin.000001,所在的起始位置号(--start-position)120和结束位置号(--stop-position)545,并保存

[root@mv171 3307]# mysqlbinlog --start-position=120 --stop-position=545 /data/3307/mysql-bin.000001 >/tmp/binlog28.sql

进入数据库,先执行命令“set sql_log_bin=0;”目的是将停止二进制日志写入到二进制文件。

mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)

执行source 上述mysqlbinlog命令执行保存的binlog28.sql文件,恢复数据。

mysql> source /tmp/binlog28.sql
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
......

在恢复二进制日志可写入到二进制日志文件:

mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)

这时候数据恢复到误操作前状态已经做完。

文章来源:https://blog.csdn.net/pptt6688/article/details/135261740
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。