php 在线 mysql 大数据导入程序

 1 <?php
 2 header("content-type:text/html;charset=utf-8");
 3 error_reporting(E_ALL);
 4 set_time_limit(0);
 5 $file=‘./test.sql‘;
 6 $data=file($file);
 7
 8 echo "<pre>";
 9 //print_r($data);
10 $data_new=array();
11 $tmp=array();
12 foreach ($data as $line) {
13
14     $line=trim($line);
15     if(strlen($line)==0){
16         continue;
17     }
18     if(substr($line,0,2)==‘--‘){
19         continue;
20     }
21     if(substr($line,0,2)==‘/*‘){
22         continue;
23     }
24     $tmp[]=$line;
25     if(substr($line,-1)==‘;‘){
26         $query=implode(‘‘,$tmp);
27         $tmp=array();
28         $data_new[]=$query;
29     }
30
31 }
32
33
34
35 $mysqli=new mysqli(‘localhost‘,‘root‘,‘root‘,‘test‘);
36 if($mysqli->connect_errno){
37     exit(‘数据库连接失败!‘);
38 }
39 $mysqli->query("set names utf8");
40
41 $error=array();
42 foreach($data_new as $sql){
43     $mysqli->query($sql);
44     $r=$mysqli->error;
45     if($r) $error[]=$r;
46 }
47 print_r($r);
48
49
50 /*
51
52
53 mysql>ALTER TABLE tbl2 DISABLE KEYS;
54 Query OK, 0 rows affected (0.00 sec)
55
56 mysql>INSERT INTO tbl2 SELECT * FROM tbl1;
57 Query OK, 2000000 row affected (36.30 sec)
58 Records: 2000000 Duplicates: 0 Warnings: 0
59
60 mysql>ALTER TABLE tbl2 ENABLE KEYS;
61 Query OK, 0 rows affected (44.55 sec)
62
63
64 */

适用情况:phpmyadmin导出的sql文件过大,无法导入到线上phpmyadmin中

把该程序和sql文件上传到空间中,用完后删除即可。

时间: 2024-08-05 00:36:23

php 在线 mysql 大数据导入程序的相关文章

javaweb学习总结(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L

不同mysql版本数据导入出现的问题

原mysql的版本是:3.4.10.1deb1,目标mysql的版本是:5.0.51b-community-nt-log,导入数据时出现了一下问题: 1.DELIMITER You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER //' at line 1 goog

javaweb(三十四)——使用JDBC处理MySQL大数据

一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时是需要用程序把大文本或二进制数据直接保存到数据库中进行储存的. 对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为: TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT TINYBLOB.BLOB.MEDIUMBLOB和L

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

mysql大数据备份及恢复(一)

Mysql大数据备份和恢复一 MySQL备份一般采取全库备份.日志备份:MySQL出现故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间:mysql的二进制日志记录着该数据库的所有增删改的操作日志还包括了这些操作的执行时间 Binlog的用途:主从同步.恢复数据库 使用binlog工具备份 查看binlog是否开启,因为默认是关闭的 从上图可知off为关闭状态,一般logbin为只读,在/etc/my.cnf下开启 重启数据库 重启后在目录下查看是否生成bin日志

MySQL大数据的优化以及分解存储

            MySQL大数据的优化以及分解存储 前言:在上一章介绍了MySQL的优化以及优化的思路,那么如果有一种情况如果数据库已经建立好了索引,在使用sql语句索引查询时:但是在慢查询日志当中任然找到了之前的sql语句会有哪几种情况: 1):sql语句的索引没有起到效果, 2):查询的数据量过大,造成数据的查询缓慢, 在工作当中每个数据库都会存在庞大的数据量,比如说访问量等等都会造成数据的查询缓慢,那么如何解决这个问题,接下来往下看: 分区和分表: 我们的数据库数据越来越大,随之而

MySQL大数据优化以及分解(下篇)

http://xiaorenwutest.blog.51cto.com MySQL大数据优化以及分解(下篇) 前言:在上一章的内容当中说过公司中的数据过大或者访问量过多都会导致数据库的性能降低,过多的损耗磁盘i/o和其他服务器的性能,严重会导致宕机.根据这种情况我们给出了解决方法,那么接下来我们继续: 上次说到了分表和分区:首先让我们回顾下分表和分区的区别: 分表: 将一个大表分解成若干个小表,每个小表都有独立的文件.MYD/.MYI/.frm三个文件 分区: 将存放数据的数据块变多了,表还是一

mysql 大数据 查询方面的测试

---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千级)---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. ---方法2: 建立主键或唯一索引, 利用索引(假设每页10条)---语句样式: MySQL中,可用如下方法

MySQL 大数据操作注意事项

MySQL 大数据操作注意事项 http://netkiller.github.io/journal/mysql.parallel.html Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 目录 1. 关于 delete 2. 关于 update 3. 关于创建索引 4. 关于 OPTIMIZE 5. 关于切换引擎 6. 确保SELECT不被受阻 1. 关于 delete delete from mytable 必死无疑,你需要分批删除,尽量缩小每个批次删除的记录数,