【无标题】mysql之binlog数据恢复流程

1、获取binlog文件

        1.1 如果是本地数据库 可以从本地(Windows中生成的binlog位于data目录 例如:D:\ProgramData\MySQL\MySQL Server 5.1\data\mysql-bin.000024;linux中生成的binlog位于如:/var/lib/mysql/mysql-bin.000024)获取binlog文件。

        1.2 如果非本地数据库需要从远程机器获取binlog文件(如果用了云平台的产品可以从页面直接下载即可)

2、转换binlog文件为sql文件

        2.1 Windows系统进入到mysql的安装路径(例如:D:\ProgramData\MySQL\MySQL Server 5.1\data) 执行文件转换命令:mysqlbinlog mysql-bin.000024 -d mytestdb > mytestdb.sql (注意:mytestdb是数据库名称),下面这个是导出某一时间段的命令(mysqlbinlog --start-datetime="2020-01-17 14:40:00" --stop-datetime="2020-01-17 15:40:00" mysql-bin.000024 -d mytestdb > mytestdb.sql)

        2.2 Linux系统执行转换命令(mysqlbinlog /Users/local/Downloads/mysql-bin.004246 -d mytestdb > /Users/local/Downloads/mytestdb.sql),执行命令可能会报错(-bash: mysqlbinlog: command not found),要想解决此问题,我们需要做的就是映射一个链接到/usr/local/bin目录下,相当于建立一个链接文件,类似给mysqlbinlog添加一个环境变量一样。

                2.2.1 首先我们可以用which命令查看是不是这个原因(which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。)

                2.2.2 执行命令:1. cd /usr/local/bin(进入到要映射命令的文件夹)   2. ln -s /www/server/mysql/bin/mysqlbinlog mysqlbinlog (把mysqlbinlog安装目录/www/server/mysql/bin/mysqlbinlog 映射到/usr/local/bin目录下,/www/server/mysql/bin/mysqlbinlog 这个路径一定要是你自己的mysqlbinlog安装路径哦,不要直接复制)

3、执行生成的sql文件

mysql > use labg1604; -- 进入操作的数据库

mysql> source C:/......./Desktop/mytestdb.sql;  -- 这里表示导出sql的存放位置,进行这一段时间数据库sql恢复。

binlog使用场景:
    mysql主从复制、mysql数据恢复、数据同步(基于Cannal投递Mysql Binlog到kafka、elasticsearch)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西贝爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值