mysql数据库通过日志恢复数据

大家应该知道mysql通过备份恢复文件的方法,其实用日志其实也可以恢复数据,方法如下

1.找到my.ini文件
(方法:先到mysql安装目录找my.ini文件如果此安装目录没有找到该文件,则此文件一般在C盘下的ProgramData文件夹中,此文件夹为隐藏文件夹需要直接查找 C:\ProgramData\MySQL\MySQL Server 5.7\)然后打开my.ini文件
(在此文档里找到[mysqld]标签,并且在下面加上log-bin=binary-log这句话
如[mysqld]
log-bin=binary-log
(说明:log-bin操作符命令为开启日志文件,因为mysql默认的是关闭日志,然后binary-log为产生日志文件的文件名,此文件在C:\ProgramData\MySQL\MySQL Server 5.7\Data下面可以看到 binary-log.000001文件这就是产生的日志二进制文件)
在这里插入图片描述binary-log.000001文件这就是产生的日志二进制文件

2.日志文件已经开启下面进行实验,
建立一个新表product,在里面添加记录,这时在navicat里查看日志它会显示建表和添加数据的记录,时间
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意要记住建表时间和添加记录后的时间
打开命令提示符,用cd找到mysql安装目录后,
输入mysqlbinlog “C:\ProgramData\MySQL\MySQL Server 5.7\Data\binary-log.000001” --start-datetime=“2018-11-05 18:00:04.531” --stop-datetime=“2018-11-05 18:01:10.125” |mysql -u root -p
就可以恢复删除的数据了

注意:当你误删一条数据,利用二进制日志恢复的时候你需要寻找的是 创建数据的那个节点(时间),而并非你删除数据的那个节点(时间)
当你回滚数据,回滚到删数据之前的数据库状态(只执行了stop-position 或者stop-datetime),那么在stop-position之后所有的数据库操作都将丢失所以你需要
start-position stop-position 回滚单条被删数据
(start-datetime为开始恢复的时间,stop-datetime为结束恢复的时间)

猜你喜欢

转载自blog.csdn.net/qzw5235641/article/details/83985460