国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

詳解MYSQL的備份還原(PHP實(shí)現(xiàn))

2024-07-24 12:40:50
字體:
供稿:網(wǎng)友
手把手教你實(shí)現(xiàn)MYSQL的備份還原 示例代碼用我比較熟悉的PHP,當(dāng)然你看完并理解了其中的思路,相信你也可以快速地用你熟悉的語言自己寫出來。 一、新建dbBackup類,設(shè)置默認(rèn)參數(shù)。 , 0, -1)、mb_substr($sql, 0, -3),必須去除最后一個(gè)逗號(hào)(,) 否則SQL語句出錯(cuò)5.$sql.=";-- <xjx> --/r/n/r/n",詳見第四步注   六、備份操作   復(fù)制代碼 代碼如下:     /** * 備份 ... * @param $filename 文件路徑 */ function beifen($filename) { $this->db(); //連接數(shù)據(jù)庫   $sql=$this->sqlcreate(); $sql2=$this->sqlinsert();  $data=$sql.$sql2;   return file_put_contents($filename, $data); }     七、還原操作 復(fù)制代碼 代碼如下:     /** * 還原 ... * @param $filename 文件路徑 */ function huanyuan($filename) { $this->db(); //連接數(shù)據(jù)庫   //刪除數(shù)據(jù)表 $list=$this->tblist(); $tb=''; foreach ($list as $v) { $tb.="`$v`,"; } $tb=mb_substr($tb, 0, -1); if ($tb) { $rs=mysql_query("DROP TABLE $tb"); if ($rs===false) { return false; } }   //執(zhí)行SQL $str=file_get_contents($filename); $arr=explode('-- <xjx> --', $str); array_pop($arr);   foreach ($arr as $v) { $rs=mysql_query($v); if ($rs===false) { return false; } }   return true; }     備份示例: 復(fù)制代碼 代碼如下:     $x=new dbBackup(); $x->database='test'; $rs=$x->beifen('db.sql'); var_dump($rs);     還原示例: 復(fù)制代碼 代碼如下:     $x=new dbBackup(); $x->database='test'; $rs=$x->huanyuan('db.sql'); var_dump($rs);     完整代碼: 復(fù)制代碼 代碼如下:     class dbBackup { public $host='localhost'; //數(shù)據(jù)庫地址 public $user='root'; //登錄名 public $pwd=''; //密碼 public $database; //數(shù)據(jù)庫名 public $charset='utf8'; //數(shù)據(jù)庫連接編碼:mysql_set_charset   /** * 備份 ... * @param $filename 文件路徑 */ function beifen($filename) { $this->db(); //連接數(shù)據(jù)庫   $sql=$this->sqlcreate(); $sql2=$this->sqlinsert();  $data=$sql.$sql2;   return file_put_contents($filename, $data); }   /** * 還原 ... * @param $filename 文件路徑 */ function huanyuan($filename) { $this->db(); //連接數(shù)據(jù)庫   //刪除數(shù)據(jù)表 $list=$this->tblist(); $tb=''; foreach ($list as $v) { $tb.="`$v`,"; } $tb=mb_substr($tb, 0, -1); if ($tb) { $rs=mysql_query("DROP TABLE $tb"); if ($rs===false) { return false; } }   //執(zhí)行SQL $str=file_get_contents($filename); $arr=explode('-- <xjx> --', $str); array_pop($arr);   foreach ($arr as $v) { $rs=mysql_query($v); if ($rs===false) { return false; } }   return true; }   /** * 連接數(shù)據(jù)庫 ... */ function db() {  $con = mysql_connect($this->host,$this->user,$this->pwd); if (!$con){ die('Could not connect'); }   $db_selected = mysql_select_db($this->database, $con); if (!$db_selected) { die('Can/'t use select db'); }   mysql_set_charset($this->charset); //設(shè)置編碼   return $con; }   /** * 表集合 ... */ function tblist() { $list=array();   $rs=mysql_query("SHOW TABLES FROM $this->database"); while ($temp=mysql_fetch_row($rs)) { $list[]=$temp[0]; }   return $list; }   /** * 表結(jié)構(gòu)SQL ... */ function sqlcreate() { $sql='';   $tb=$this->tblist();  foreach ($tb as $v) { $rs=mysql_query("SHOW CREATE TABLE $v"); $temp=mysql_fetch_row($rs); $sql.="-- 表的結(jié)構(gòu):{$temp[0]} --/r/n"; $sql.="{$temp[1]}"; $sql.=";-- <xjx> --/r/n/r/n"; } return $sql; }   /** * 數(shù)據(jù)插入SQL ... */ function sqlinsert() { $sql='';   $tb=$this->tblist();  foreach ($tb as $v) { $rs=mysql_query("SELECT * FROM $v"); if (!mysql_num_rows($rs)) {//無數(shù)據(jù)返回 continue; }  $sql.="-- 表的數(shù)據(jù):$v --/r/n"; $sql.="INSERT INTO `$v` VALUES/r/n";  while ($temp=mysql_fetch_row($rs)) { $sql.='('; foreach ($temp as $v2) { if ($v2===null) { $sql.="NULL,"; } else { $v2=mysql_real_escape_string($v2); $sql.="'$v2',"; }  } $sql=mb_substr($sql, 0, -1); $sql.="),/r/n"; } $sql=mb_substr($sql, 0, -3); $sql.=";-- <xjx> --/r/n/r/n";  }   return $sql; } } //備份 //$x=new dbBackup(); //$x->database='test'; //$rs=$x->beifen('db.sql'); //var_dump($rs); //還原 //$x=new dbBackup(); //$x->database='test'; //$rs=$x->huanyuan('db.sql'); //var_dump($rs);
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建阳市| 朝阳区| 合水县| 靖江市| 建平县| 黑龙江省| 兴城市| 邵东县| 徐闻县| 宁波市| 永康市| 鄄城县| 新河县| 平利县| 北安市| 广元市| 丰城市| 通城县| 蚌埠市| 龙陵县| 泰安市| 武山县| 长宁区| 兴海县| 宣武区| 龙陵县| 大兴区| 凤山县| 吉安市| 丹东市| 镇雄县| 会东县| 青冈县| 富平县| 铁力市| 安新县| 铁岭县| 吉木萨尔县| 洛宁县| 体育| 东阿县|