网站建设资讯

NEWS

网站建设资讯

利用binlog回复误删表和库-创新互联

利用binlog回复误删表和库

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、包头网站维护、网站推广。

查看某个binlog日志内容,常用有两种方式:

1、   # /usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/data/mysql-bin.000013

2、    mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

       选项解析:

        IN 'log_name'  指定要查询的binlog文件名(不指定就是第一个binlog文件)

        FROM pos     指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)

        LIMIT [offset,] 偏移量(不指定就是0)

        row_count    查询总条数(不指定就是所有行)

   D.指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,查询10条

    mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;

  6.从binlog日志恢复数据

   # /usr/local/mysql/bin/mysql -uroot -p123456 -v < /root/BAK.zyyshop.sql;

    常用选项:

     --start-position=953          起始pos点

     --stop-position=1437          结束pos点

     --start-datetime="2013-11-29 13:18:54" 起始时间点

     --stop-datetime="2013-11-29 13:21:53"  结束时间点

     --database=zyyshop           指定只恢复zyyshop数据库(一台主机上往往有多个数据库,只限本地log日志)

   小结:实际是将读出的binlog日志内容,通过管道符传递给mysql命令。这些命令、文件尽量写成绝对路径;

   B.指定pos结束点恢复(部分恢复):

    @ --stop-position=953 pos结束点

    注:此pos结束点介于“导入实验数据”与更新“name='李四'”之间,这样可以恢复到更改“name='李四'”之前的“导入测试数据”

    # /usr/local/mysql/bin/mysqlbinlog --stop-position=953 --database=zyyshop /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop

   C.指定pso点区间恢复(部分恢复):

    更新 name='李四' 这条数据,日志区间是Pos[1038] --> End_log_pos[1164],按事务区间是:Pos[953] --> End_log_pos[1195];

    c1.单独恢复 name='李四' 这步操作,可这样:

      # /usr/local/mysql/bin/mysqlbinlog --start-position=1038 --stop-position=1164 --database=zyyshop  /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop

      也可以按事务区间单独恢复,如下:

      # /usr/local/mysql/bin/mysqlbinlog --start-position=953 --stop-position=1195 --database=zyyshop  /usr/local/mysql/data/mysql-bin.000023 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop

    # /usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-11-29 13:18:54" --stop-datetime="2013-11-29 13:21:53" --database=zyyshop /usr/local/mysql/data/mysql-bin.000021 | /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop

   总结:所谓恢复,就是让mysql将保存在binlog日志中指定段落区间的sql语句逐个重新执行一次而已。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:利用binlog回复误删表和库-创新互联
网页路径:http://cdweb.net/article/csggjj.html