程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 使用備份恢復數據

使用備份恢復數據

編輯:關於MYSQL數據庫

  恢復過程包括兩個信息源---備份文件和二進制日志,備份文件可使用數據恢復到執行備份時的狀態,而二進制日志可恢復到發生故障時的狀態。下面分別介紹如何利用這兩個文件恢復一個數據庫或恢復單個數據表。

  恢復整個數據庫的步驟:

  把需恢復的數據庫的整個目錄的內容拷貝到其它地方,以備用。

  使用最近的備份文件重載數據庫。如果使用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);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved