CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  MySQL/Postgresql

~~~MYSQL数据库的备份和回存~~~

楼主hotwaters(左左)2001-07-03 10:06:53 在 其他数据库开发 / MySQL/Postgresql 提问

不知道还有各位朋友知道有什么好方法来解决MYSQL数据库中的备份和回存问题。(不要告诉我将数据库目录中做文件的一个拷贝或使用mysqldump程序。我想在PHP中实现。)    
   
  问题点数:30、回复次数:5Top

1 楼leejd(小东)回复于 2001-07-03 11:13:33 得分 10

如果数据量不是很大,可以先读取到有格式的文件中;  
  恢复则将上面过程反向。Top

2 楼hotwaters(左左)回复于 2001-07-03 11:48:04 得分 0

这个方法我考虑过,但实现起来很麻烦。  
  (特别是回存时,还要清空数据库,真的很烦。)  
  还有没有更好的方法。  
   
  to   leejd  
  假如数据量大呢?那用什么方法来实现好?Top

3 楼polygame(polygame)回复于 2001-07-04 19:00:00 得分 0

http://y666.net/k666/ib5401/cgi-bin/view.cgi?forum=3&topic=1Top

4 楼polygame(polygame)回复于 2001-07-04 19:01:46 得分 20

用法:  
  备份:url/back.php?table=tablename  
  恢复:url/up.php?table=tablename  
   
   
   
   
  back.php    
  <?    
  if($table=="")exit();    
  mysql_connect("localhost","root","");    
  mysql_select_db("polygame");    
  $result   =   mysql_query("select   *   from   $table");    
  if(mysql_num_rows($result)   <=   0)   exit();    
  echo   "开始转换数据到文本...    
  ";    
  $handle   =   fopen("$table.txt","w");    
  $numfields   =   mysql_num_fields($result);    
  fputs($handle,$numfields."\r\n");    
   
  for($k=0;$k<mysql_num_rows($result);$k++)    
  {    
                $msg   =   mysql_fetch_row($result);    
                for($i=0;$i<$numfields;$i++)    
                {    
                                $msg[$i]   =   str_replace("\r\n","||回车||",$msg[$i]);    
                                $msg[$i]   =   str_replace("\n"   ,"||回车||",$msg[$i]);    
                                fputs($handle,$msg[$i]."\r\n");    
                }    
  }    
  fclose($handle);    
  chmod("$table.txt",0777);    
  echo   "ok";    
  ?>    
   
  up.php    
   
  <?    
  if($table=="")exit();    
  mysql_connect("localhost","root","");    
  mysql_select_db("polygame");    
  $message   =   fi1e   ("$table.txt");    
  $numfields   =   chop($message[0]);    
  for($k=1;$k<count($message);$k+=($numfields))    
  {    
                $no++;    
                $value="";    
                for   ($i=$k;$i<($k+$numfields-1);$i++)    
                {    
                                $tmp   =   str_replace("||回车||","\r\n",chop($message[$i]));    
                                $value   .=   "'".addslashes($tmp)."',";    
                }    
                $tmp   =   str_replace("||回车||","\r\n",chop($message[$k+$numfields-1]));    
                $value   .=   "'".$tmp."'";    
                $query   =   "insert   into   $table   values   (".$value.")";    
   
                print   "<br>\r\n";    
                echo   "处理第".$no."条纪录.....";    
                mysql_query($query)   or   die("错误");    
                print   "OK";    
  }    
  echo   "<br><br>全部纪录处理完成!";    
  ?>   Top

5 楼hotwaters(左左)回复于 2001-07-05 16:01:41 得分 0

polygame方法可行。  
  不过我是剽窃phpMyAdmin中的,花了N个时间终于成功了。导入的是整个数据库,一个一个表导入  
  太麻烦了。  
  在这里谢谢给过帮助的朋友。~~  
  加分~~~~Top

相关问题

  • mysql数据库备份的问题
  • 如何备份mysql数据库?
  • 求php备份优化mysql数据库
  • mysqldump倒出的数据库备份如何在装入Mysql数据库??
  • 数据库备份?
  • 数据库备份
  • 数据库备份?
  • 数据库备份???
  • 备份数据库
  • 数据库备份

关键词

  • 数据库
  • mysql
  • php
  • 备份
  • 回存
  • 方法
  • 实现

得分解答快速导航

  • 帖主:hotwaters
  • leejd
  • polygame

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo