当前位置: 首页 > news >正文

Mysql 大数据量导入程序

Mysql 大数据量导入程序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

网络上转载许多都有错误,请注意代码的规范和正确性。
经测试以下代码是正确无错的,转载请保留版权,尊重程序作者!
<?php

/******************************************/
/* PhyMyAdmin Data Importer */
/* http://www.ebugs.org */
/* Copyright 富翁 in im286.com 2005.04.09 */
/* 转载请注明出处 */
/******************************************/

//用来快速Mysql的大数据备份
//使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名
//同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可
//落伍(www.im286.com)负翁版权所有,可随意使用,但保留版权信息

$file_name="a.sql"; //要导入的SQL文件名
$dbhost="localhost"; //数据库主机名
$dbuser="anonymous"; //数据库用户名
$dbpass=""; //数据库密码
$dbname="test"; //数据库名

set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
$fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
mysql_connect($dbhost, $dbuser, $dbpass) or die("不能连接数据库 $dbhost");//连接数据库
mysql_select_db($dbname) or die ("不能打开数据库 $dbname");//打开数据库

echo "正在执行导入操作<span><br>";
while($SQL=GetNextSQL()){
 if (!mysql_query($SQL)){
 echo "<font color=red>执行出错:".mysql_error()."</font><br>";
 echo "SQL语句为:<br>".$SQL."<br>";
 };
}
echo "导入完成</span>";

fclose($fp) or die("Can't close file $file_name");//关闭文件
mysql_close();

//从文件中逐条取SQL
function GetNextSQL() {
 global $fp;
 $sql="";
 while ($line = @fgets($fp, 40960)) {
 $line = trim($line);
 //以下三句在高版本php中不需要,在部分低版本中也许需要修改
 $line = str_replace("\\\\","\\",$line);
 $line = str_replace("\'","'",$line);
 $line = str_replace("\\r\\n",chr(13).chr(10),$line);
// $line = stripcslashes($line);
 if (strlen($line)>1) {
 if ($line[0]=="-" && $line[1]=="-") {
 continue;
 }
 }
 $sql.=$line.chr(13).chr(10);
 if (strlen($line)>0){
 if ($line[strlen($line)-1]==";"){
 break;
 }
 }
 }
 return $sql;
}
?>

阅读(604) | 评论(0) | 转发(1) |
0

上一篇:MySQL数据导入导出方法与工具mysqlimport

下一篇:my-large&my-medium&my-small&my-innodb-heavy-4G

相关热门文章
  • linux-6.5下 基于vsftpd+pam+m...
  • 《深入Linux设备驱动程序机制...
  • Install ncurses(ncurses-deve...
  • 枚举类型用法
  • 简说JAVA8引入函数式的问题。...
  • python 多进程之管道实例(模...
  • 解决mysql“Access denied for...
  • 【原创】PostgreSQL 实现MySQL...
  • 新做的mysql5.1中文手册...
  • 安装Oracle出现的故障以及解决...
  • 我的ChinaUnix博客被锁定了,...
  • 虚拟机中ubuntu无线连接问题...
  • IBM DS3400 盘阵怎么查看是单...
  • 启动auditd时,报错如下,怎么...
  • CGSL系统中root密码正确,但无...
给主人留下些什么吧!~~
评论热议

转载于:https://www.cnblogs.com/aquester/p/9891690.html

相关文章:

  • 配置RD网关实现直接访问内网
  • ASP.NET配合CKEditor上传图片(二)
  • 导航状态尺寸
  • ubuntu下启动system-config-kickstart报错的解决办法
  • iOS - Swift NSPoint 位置
  • Zabbix自定义监控详解
  • 【NetApp】Actice Directory authentication
  • lua工具库penlight--07函数编程(一)
  • [LeetCode] NO. 169 Majority Element
  • apache添加 扩展php自定义的项目配置方法
  • 实现携程X分钟前有人预定功能
  • 怎么让块级元素水平和垂直都居中
  • 百度实习面经-JAVA研发方向
  • P1143 飘飘乎居士的约会
  • 让win7变成无线路由(需要用管理员权限打开)最后完善.rar
  • 11111111
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 2019.2.20 c++ 知识梳理
  • Apache Zeppelin在Apache Trafodion上的可视化
  • css的样式优先级
  • C学习-枚举(九)
  • JavaScript 一些 DOM 的知识点
  • JS变量作用域
  • k8s如何管理Pod
  • Linux CTF 逆向入门
  • node学习系列之简单文件上传
  • Redash本地开发环境搭建
  • spring cloud gateway 源码解析(4)跨域问题处理
  • spring学习第二天
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue2 SSR 的优化之旅
  • Vue--数据传输
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 关于字符编码你应该知道的事情
  • 设计模式(12)迭代器模式(讲解+应用)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 算法-图和图算法
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (k8s中)docker netty OOM问题记录
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (四)JPA - JQPL 实现增删改查
  • (一)SpringBoot3---尚硅谷总结
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET导入Excel数据
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • :O)修改linux硬件时间
  • @RequestBody与@ModelAttribute
  • [20181219]script使用小技巧.txt