win7系统下利用bin-log恢复mysql数据

   今天给大家分享一个Windows下,MySql使用binlog恢复表和数据的方法(自己也是了解一下bin-log的作用,大体思路是参考别人的文章,只是将一些细节完善一下,帮助大家自己做实验更容易一些)

   binlog主要两大作用

     1、高可用

     2、数据恢复。

   首先要开启binlog日志的功能:

   进到这个目录,"D:\MySQL\MySQL Server 5.5\my.ini"

my.ini[mysqld]下面添加一行 log-bin = mysql-bin ,然后重启mysql服务,就可以了。如下图:

[mysqld]

# log-bin

log-bin = mysql-bin

 

 日志保存在路径:


一、新建一张测试表test

CREATE TABLE if not exists test (

id int UNSIGNED NOT NULL AUTO_INCREMENT ,

username VARCHAR(3) NOT NULL DEFAULT "老王" ,

PRIMARY KEY (`id`)

)

二、然后插入2条数据 ,查询看看

     insert into test values(1,'老李');

     insert into test values(2,'老孙');

 

三、然后我们把数据备份到d

  打开windowscmd窗口 进入到mysqlbin目录: cd  D:\MySQL\MySQL Server 5.5\bin

然后执行只备份test这张表的命令:mysqldump --opt --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE -u root --password=root test test > "D:\test.sql"

 

 四、这时模拟误操作(插入2条数据,然后删除数据库)

  先插入

     insert into test values(3,'老张');

     insert into test values(4,'老谭');


再删除

truncate test;

drop table test;


五、这时,我们先用刚刚备份的test.sql文件来恢复下数据(肯定只能恢复前两条数据,因为我们是在后两条数据插入之前备份的)

1.mysql -u root -p root先登录mysql  

2.然后执行导入test.sql的命令:

source d://test.sql     (:如果有多个数据库,则使用use 数据库名选择数据库,再执行前面的语句)

 

3. 然后在查询下test表看下数据恢复过来没有

 

  正常 数据恢复了,然后我们最后插入的那个老张老谭没恢复成功。怎么办?只能用binlog

六、剩余的条数据没有恢复过来,我们使用mysqlbinlog日志来恢复

1.使用sql语句:show binlog events in 'mysql-bin.000001'; -- 查看binlog内容记录下开始位置和结束位置

 

2.然后进入到mysql的:C:\ProgramData\MySQL\MySQL Server 5.5\Data

cd C:\ProgramData\MySQL\MySQL Server 5.5\Data

3.binlog命令利用刚才查询到的开始位置结束位置备份到d 

mysqlbinlog --start-position=750 --stop-position=1046 mysql-bin.000001 > d:\\test1.sql

4.然后登录到mysql 命令:mysql -uroot -proot

5.然后执行:source d://test1.sql (记住要先选择数据库!这里是用我们binlog备份的test1.sql去恢复数据的)

最后在查询下test表,发现数据已经恢复了


结束!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值