国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[PHP] 利用php还原mysql大文件的备份

[复制链接]
发表于 4-13-2012 23:00 | 显示全部楼层 |阅读模式
首先在原来的phpmyadmin中分两步导出mysql数据库 请分两个步骤导出
& D; v* H' h) J5 ]# ^4 G" W" E6 ~) \4 k
第一步:导出数据库结构。数据库结构文件一般很小,几乎不可能超过2M,所以可以直接在另外一个phpmyadmin的上面直接恢复;: Y, E, u* I$ K( r

9 C; _& S2 n- [5 p6 W+ E第二步:导出数据内容。这个文件若是太大,则可以采用php写的程序进行恢复。1 g, ~/ V9 {6 }$ W7 _
, o# I8 i* f9 D" K
<?php# w' E9 a8 v4 i* _# C+ e
define('DB_NAME', '');4 z2 g! Q4 H6 \0 W
define('DB_USER', '');& ~6 C% z6 i" z3 x! f
define('DB_PASSWORD', '');
: D, G* Q: D2 t: v$ C! X' \7 g& rdefine('DB_HOST', '');
  r+ {7 H' b, l) _: @/*定义数据库连接*/  w2 ~4 j1 t' c* w
$mysql = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("mysql connect fail, wrong password");8 U" n! z  ^" J: S( Z1 b: S' V
mysql_select_db(DB_NAME)or die("select DB fail");- Q! n9 _8 V/ g# f* Z
mysql_query("set names utf8");# Z: m/ l+ u. }
$fp = fopen("db.sql","r") or die('can not open file');1 u( w& w" C. {9 A
while( $s = fgets( $fp,100000 ) ){6 V. c- j. J# [) D
$m .= $s;  g  {2 V4 o& w% y; v8 ~
}  |0 Y) b! n- H7 j9 X+ w
$sql_content = explode(";\n",$m);4 c$ a" b5 E) e, x% o8 d$ t. v
$i = 0;  j' u9 [0 U) P  d* k& _* p; i
$max = count($sql_content) ;
# s" E; b# v0 L9 @! Jwhile( $i < $max ){. H# V3 b. g8 P# z8 [
mysql_query( $sql_content [$i] );
- z" [- t! z. g8 F- E3 m. J; Iif( mysql_error()) echo mysql_error()."";/ J3 ^! e1 ?  T; S
else{* P: ]; k. K$ f2 j! Z% g% g
$n ++;
: K& A" V( p! a4 s}+ A4 C6 w+ Q' g$ `! g
$i ++;: y) d# _, |# E. d4 y/ t
}
- d" }  D+ V, K  h/ i. ?1 mecho "mysql queries:".$n;# N. ~2 m" P+ |$ ]' G( Y& l
fclose($fp);; C$ \3 |& S8 `7 J8 q
?>. Z) h0 ^4 j' }1 }7 e. Q

; d/ B+ S5 h$ N8 R: o" Y( j% ^导入方法(请保证已经将数据库结构导入了新的数据库):
* T; K# g, N% I( j1 j" b$ k2 A' @/ b. _. J6 Q; d
1.将以上php代码存为import.php,放置在根目录中;
7 w+ L0 A: T6 a+ E" J" N5 f. i6 l! O/ H( D9 b3 m% A
2.用记事本打开import.php,修改前面4行数据库连接;1 H: @5 i. d/ s' B

. h. o1 }5 w: J9 Q, V3.解压缩刚才已经备份下来的数据库内容文件,重命名为 db.sql,上传到网站根目录;- f6 J: T8 E: ]! ~  t0 V

0 q. \" r) Y4 l4.打开网站 http://您的域名/import.php ,若设置正确的话,数据库将在数秒之内导入成功,即使10M的数据库也不会超时;
- U6 y& u- ^8 t1 W
( z: _- z  _; G) B7 Q$ |
1 Y+ y6 k' u2 f% N本例仅供参考,请谨慎!
) \* d- b0 S# I  L# t# Z& d# p( {9 m7 I0 ?( W: W

) {3 _7 T2 N5 _* \+ ]/ X本帖选自:Drupal --> chinaphp.org ,谢谢!7 R# [) I! w! K0 H, S2 B6 R2 R# L" s9 ~

, ^+ d. W& F- U, Y6 A) K, v* ]8 n

. D/ i$ ~6 Y3 Q0 s8 \" Q: h$ g" g- k1 O% Y4 b4 p# O
# \8 [2 D/ M/ L/ r

|2011-2026-版权声明|平台(网站)公约|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 6-17-2025 09:54 , Processed in 0.287755 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表