php备份还原mysql数据库
浏览量:172
why:
how:
//数据库地址
define(\DB_HOST\, \\);
//数据库用户名
define(\DB_USER\, \\);
//数据库密码
define(\DB_PASSWORD\,\\);
//数据库名
define(\DB_NAME\, \\);
//数据库表前缀
define(\DB_PRE\, \\);
define(\DB_PCONNECT\, 0);
//数据库编码
define(\DB_CHARSET\, \utf8\);
//备份或导入的sql文件
define(\DB_BACK\, \back.sql\);
include(\mysql.class.php\);
$mysql=new mysql(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME,DB_CHARSET,DB_PCONNECT);
$act = @$_GET[\act\];
if($act==\back\){
db_back();
}elseif($act==\import\){
db_import();
}
function db_back(){
$rel2=$GLOBALS[\mysql\]->fetch_asc(\SHOW TABLE STATUS FROM \.DB_NAME);
$db=array();
foreach($rel2 as $key=>$value){
if(substr($value[\Name\],0,strlen(DB_PRE))==DB_PRE){
$db[]=$value[\Name\];
}
}
$sql="";
foreach($db as $k=>$v){
$rel=$GLOBALS[\mysql\]->fetch_asc(\SHOW CREATE TABLE \.$v);
$sql.=" TABLE IF EXISTS `".$v."`;n";
$sql.=$rel[0][\Create Table\].";n";
$record=$GLOBALS[\mysql\]->fetch_asc(" from ".$v);
if(!empty($record)){
$=array();
foreach($record as $key=>$value){
foreach($value as $r_k=>$r_v){
$[$r_k]="\".mysql_real_escape_string($r_v)."\";
}
$sql.=" `".$v."` VALUES(".implode(\,\,$).");n";
}
}
}
if(!@file_put_contents(DB_BACK,$sql)){
echo \备份失败,请检查文件夹是否有足够的权限\;
}
echo "备份成功,备份文件为".DB_BACK;
}
function db_import(){
$data=@file_get_contents(DB_BACK);
$data=explode(";n",trim($data));
if(!empty($data)){
foreach($data as $k=>$v){
$GLOBALS[\mysql\]->query($v);
}
}
echo "数据还原成功";
}
| //数据库连接类 | |
| class mysql | |
| { | |
| var $link; | |
| var $db_host; | |
| var $db_user; | |
| var $db_password; | |
| var $db; | |
| var $db_prefix; | |
| var $db_pc; | |
| var $parentid; | |
| var $twoCateid; | |
| function mysql($db_host,$db_user,$db_password,$db,$db_charset,$pc_connect){ | |
| $this->db_host=$db_host; | |
| $this->db_user=$db_user; | |
| $this->db_password=$db_password; | |
| $this->db=$db; | |
| $this->db_charset=$db_charset; | |
| $this->db_pc=$pc_connect; | |
| $this->open_link(); | |
| $this->sl_db(); | |
| } | |
| function open_link(){ | |
| $this->link=($this->db_pc)?@mysql_pconnect($this->db_host,$this->db_user,$this->db_password):@mysql_connect($this->db_host,$this->db_user,$this->db_password); | |
| if(!$this->link){ | |
| echo "数据库连接错误".mysql_error(); | |
| } | |
| } | |
| function sl_db(){ | |
| if(!@mysql__db($this->db,$this->link)){ | |
| echo "数据库".$this->db."不存在"; | |
| } | |
| @mysql_unbuffered_query("set names {$this->db_charset}"); | |
| } | |
| function query($sql){ | |
| if(!$res=@mysql_query($sql,$this->link)){ | |
| echo "操作数据库失败".mysql_error()."<br>sql:{$sql}"; | |
| } | |
| return $res; | |
| } | |
| function fetch_asc($sql){ | |
| $result=$this->query($sql); | |
| $arr=array(); | |
| while($rows=mysql_fetch_assoc($result)){ | |
| $arr[]=$rows; | |
| } | |
| mysql_free_result($result); | |
| return $arr; | |
| } | |
| } |


感谢支持与鼓励~