mysql数据库的备份与还原(误删除恢复)

第一步:备份数据库

mysqldump -uroot -proot test-l -F > '../data/test.sql'

此条语句将当前库保存到test.sql, -F参数表示flush logs,会重置binlog文件,查看新的binlog文件可以用show master status

第二步:插入一些新的数据及删库

instert into t1 values(11111)
instert into t1 values(222222)
instert into t1 values(333333)
drop table t1

第三步:恢复sql文件数据
注:由于sql文件备份在前,所以不会产生新插入语句及删库语句

mysql -uroot -proot test < '../data/test.sql'

第四步:恢复备份后的新数据,但不恢复错误sql语句

1.先查看错误语句的end_log_pos位置,查看新的binlog文件可以用show master status

mysqlbinlog --no-defaults ../data/mysql-bin.000003

2.恢复log数据

mysqlbinlog --no-defaults --stop-position="980" ../data/mysql-bin.000003|mysql -uroot -proot test

至此,数据全部恢复至删库前。

猜你喜欢

转载自blog.csdn.net/qq_16059847/article/details/82716617