大数据量mysql文件导入程序

转载 2006年06月08日 14:27:00
  1. <?
  2. /******************************************/
  3. /*          PhyMyAdmin Data Importer      */
  4. /*           www.ebugs.org                */
  5. /* Copyright 富翁 in im286.com 2005.04.09 */
  6. /*           转载请注明出处               */
  7. /******************************************/
  8.  
  9. //用来快速Mysql的大数据备份
  10. //使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名
  11. //同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可
  12. //落伍(www.im286.com)负翁版权所有,可随意使用,但保留版权信息
  13.  
  14.         $file_name="a.sql";  //要导入的SQL文件名
  15.         $dbhost="localhost"; //数据库主机名
  16.         $dbuser="anonymous"; //数据库用户名
  17.         $dbpass="";          //数据库密码
  18.         $dbname="test";      //数据库名
  19.         
  20.         set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
  21.         $fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
  22.         mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库
  23.         mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库
  24.         
  25.         echo "正在执行导入操作<span><br>";
  26.         while($SQL=GetNextSQL()){
  27.                 if (!mysql_query($SQL)){
  28.                         echo "<font color=red>执行出错:".mysql_error()."</font><br>";
  29.                         echo "SQL语句为:<br>".$SQL."<br>";
  30.                 };
  31.         }
  32.         echo "导入完成</span>";
  33.  
  34.         fclose($fp) or die("Can't close file $file_name");//关闭文件
  35.         mysql_close();
  36.  
  37.         //从文件中逐条取SQL
  38.         function GetNextSQL() {
  39.                 global $fp;
  40.                 $sql="";
  41.                 while ($line = @fgets($fp, 40960)) {
  42.                         $line = trim($line);
  43.                         //以下三句在高版本php中不需要,在部分低版本中也许需要修改
  44.                         $line = str_replace("////","//",$line);
  45.                         $line = str_replace("/'","'",$line);
  46.                         $line = str_replace("//r//n",chr(13).chr(10),$line);
  47. //                        $line = stripcslashes($line);
  48.                         if (strlen($line)>1) {
  49.                                 if ($line[0]=="-" && $line[1]=="-") {
  50.                                         continue;
  51.                                 }
  52.                         }
  53.                         $sql.=$line.chr(13).chr(10);
  54.                         if (strlen($line)>0){
  55.                                 if ($line[strlen($line)-1]==";"){
  56.                                         break;
  57.                                 }
  58.                         }
  59.                 }
  60.                 return $sql;
  61.         }
  62. ?>

相关文章推荐

c#生成大数据量sql文件_MySql

void Form1_Load(object sender, EventArgs e) { StringBuilder strSql = new StringB...

Mysql大数据量的导入和更新

在工作中有时会遇到有大量需要导入到数据库,如果通过写脚本一条一条的插入到mysql,那么会非常慢的。 之前我有想到一次性插入10000条数据就好了啊,这样确实在大部分情况下都能满足需求了。 但是如...

大数据量csv文件导入数据库

今天客户拿过来一个500多M的csv文件(汗,中国移动导的欠费记录,导出的人也是强人),用Excel直接打开只能看到100多万条记录,超过部分就看不到了。 让我们想想办法,看能不能拆分成多个excel...

mysql innobackupex xtrabackup 大数据量 备份 还原

mysql innobackupex xtrabackup 大数据量 备份 还原 张映 发表于 2014-09-19 分类目录: mysql 标签:innobackupex, mysql, xt...

《大数据量下,58同城mysql实践》

《大数据量下,58同城mysql实践》 WOT(World Of Tech)2015,互联网运维与开发者大会将在北京举行,会上58同城将分享《大数据量下,58同城mysql实战》的主题,干货...

大数据量时Mysql的优化要点

1、对查询进行优化、应尽量避免全表扫描、首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应尽量避免在 where 子句中对字段进行 null 值判断、否则将导致引擎...

mysql数据库大数据量的查询优化和分页测试

http://blog.sina.com.cn/s/blog_438308750100im0b.html 有什么问题:yubaojian0616@163.com 于堡舰   我原来的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)