MySql通过二进制日志文件恢复数据

   在《百度、阿里、腾讯如何承载PB级别大数据》的视频中了解到,大型网站的数据库每天都会定时的进行数据备份份。如果设置每天的0点进行数据备份,在两个数据备份周期期间数据库出现宕机情况,0点到宕机这个时间段的数据如何备份呢?在MySql中是通过数据库的二进制日志文件进行数据恢复的。

   MySql的二进制日志文件默认是关闭的,需要我们在MySql根目录下的my.ini文件中设置为开启状态。设置方式为在[mysqld]节点下,添加log-bin=mysql  binlog-do-db=spring,mysql为生成的二进制日志文件名,spring为需要记录日志的数据库,配置完成后重启MySql服务。下面我通过一个实例讲解如何通过二进制日志文件恢复数据。

   1.在mysql中创建一个数据表,操作如下:

   技术分享

   此时在MySql安装目录的data文件夹下会生成mysql.000001文件。

   我们可以在Dos窗口通过MySql的mysqlbinlog命令查看日志文件,操作如下:

   技术分享

   如果提示mysqlbinlog命令无法识别,则需要把MySql的bin路径(我的是:D:\Program Files\MySQL Server 5.6\bin)添加到环境变量的path变量中。

   2.向test数据表插入一条语句,操作如下:

   技术分享

   此时在MySql安装目录的data文件夹下会生成mysql.000002文件。

   3.删除数据表test,操作如下:

   技术分享

   此时在MySql安装目录的data文件夹下会生成mysql.000003文件。

   4.用二进制文件恢复数据

   通过show tables命令发现,test表已经不存在。

   在dos窗口执行命令mysqlbinlog --no-defaults D:\mysql.000001  D:\mysql.000002  | mysql -uroot -proot恢复数据,,操作如下:

   技术分享

   在mysql中再次执行show tables命令发现,test表恢复了。

   到此在MySql中通过二进制日志文件恢复数据的操作讲解完成,希望能帮助大家进步。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。