广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    MYSQL教程:使用备份恢复数据

    2018-04-16 10:57:38 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

      恢复过程包括两个信息源---备份文件和二进制日志,备份文件可使用数据恢复到执行备份时的状态,而二进制日志可恢复到发生故障时的状态。下面分别介绍如何利用这两个文件恢复一个数据库或恢复单个数据表。

      恢复整个数据库的步骤:

      把需恢复的数据库的整个目录的内容拷贝到其它地方,以备用。

      使用最近的备份文件重载数据库。如果使用mysqldump生成的备份,则可使用它们作为mysql的输入重载;如果是通过拷贝数据库目录来备份的,则要关闭数据库服务器,再把备份重新拷贝到数据目录,再重启数据库服务器。

      通过二进制日志重做事务,恢复到出错点的数据。具体操作是这样的,用mysqlbinlog把日志转换成ASCII格式,再把它作为mysql的输入,并指定--one-database选项,以便mysql只执行你指定的数据库恢复。如:

    % ls -t -r -l binlog.[0-9]* | xargs mysqlbinlog | mysql --one-database db_name

      但上面命令只适合所有日志文件名具有相同长度的情况。否则需用下面的Perl代码来处理:

    #!/usr/bin/perl -w
    # sort_num.pl

    use strict;

    my @files = <>;       #read all input file
    @files = sort { my $anum = $1 if $a =~/.(d+)$/;     #sort them by numeric extension
            my $bnum = $1 if $b =~/.(d+)$/;
            $anum <=> $bnum;
           } @files;
    print @files;       #print them
    exit(0);

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告