mysql 数据记录导出_mysql如何导出600万条记录的数据表?

目前我这么写:

/**

* Created by IntelliJ IDEA.

* User: felix

* Date: 2019-03-01

* Time: 18:49

*/

set_time_limit(0);

$servername = 'localhost';

$username = '';

$password = '';

$dbname = '';

$i = 57007;

$bingTime = microtime(true);

echo 'bing ' . $bingTime . ' s' . PHP_EOL;

while (9690183 > $i) {

$i++;

A:

// 创建连接

$conn = new mysqli($servername, $username, $password, $dbname);

/* check connection */

if ($conn->connect_errno) {

printf("Connect failed: %s\n", $conn->connect_error);

sleep(3);

goto A;

}

$pySql = "select count(*) as sum from wzjs_product_journal_21_6 where product_journal_id = {$i}";

$result = $conn->query($pySql);

if ($result === false) {

printf("Invalid query: %s\nWhole query: %s\n", $conn->error, $pySql);

}

if ($result->fetch_assoc()['sum'] == 0) {

$pySql = "INSERT INTO wzjs_product_journal_21_6 SELECT * FROM wzjs_product_journal_21 WHERE product_journal_id = {$i}";

$result = $conn->query($pySql);

if ($result === false) {

printf("Invalid query: %s\nWhole query: %s\n", $conn->error, $pySql);

}

}

usleep(5);

$conn->close();

usleep(5);

}

$endTime = microtime(true);

echo ' end ' . $endTime . ' s' . PHP_EOL;

$diffTime = $endTime - $bingTime;

echo 'Diff Time ' . $diffTime . ' s' . PHP_EOL;

echo 'i:' . $i . "\n";

根据主键一条一条复制。我有 9690183 多条数据需要迁移,因为之前的表加不上索引了……

不过不知为啥,经常出

PHP Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /data/wwwroot/www.scienceport.cn/copy_2.php on line 24

上面的 goto 就是打算解决这个问题。目前正在测试。

之所以先查询后复制是之前老是自己就停了。而且现在也这样,连接着 shell 才会执行的比较久, 用的阿里云,关掉 shell 没多久就自己停了。就是必须看着它,要不然就自己跑不见了……

这样运行的

php copy.php > copy.log &

在写这个的时候,又打印log了,不过这个程序挺过去了……

2019年03月04日

这个也不可靠,有100多万条不知道为啥没过去……正在寻找故障原因。

No such file or directory 貌似是阿里云出故障了,反正今天有新闻。

2019年03月11日

发现写入数据不等会有的情况索引是不会加上的,而且还丢东西。现在都能复制走了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql sql使用序列_SQL 使用序列

SQL 使用序列序列是根据需要产生的一组有序整数:1, 2, 3 ... 序列在数据库中经常用到,因为许多应用要求数据表中的的每一行都有一个唯一的值,序列为此提供了一种简单的方法。本节阐述在 MySQL 中如何使用序列。使用 AUTO_INCREMENT 列&#x…

jmeter mysql查询结果提取_Jmeter-从数据库中获取数据并作为变量使用

一、导入数据库驱动包;(1)、在网上搜索下载数据库驱动包(MySQL的地址https://dev.mysql.com/downloads/file/?id480090)(2)、解压,获取到jar包,并将其复制到Jmeter的安装路径下的\lib文件夹下面;重启Jmeter就已经成功导入了&…

java 如何跟多个字符串比较_Stack Overflow上370万浏览量的一个问题:如何比较Java的字符串...

在逛 Stack Overflow 的时候,发现了一些访问量像喜马拉雅山一样高的问题,比如说这个:如何比较 Java 的字符串?访问量足足有 370万,这不得了啊!说明有很多很多的程序员被这个问题困扰过。截止到目前为止&…

个人对于MySQL的理解_MySQL锁的理解

一、事务四要素:ACID原子性(Atomicity):要么做完,要么啥都不做,没有中间状态一致性(Consistency):这个是个比较有争议的概念,个人理解是通过AID来保证数据正确性,保证从一个状态到下一个状态是正…

linux mysql 5.6.23_mysql 5.6.23 的安装

安装mysql5.6.231. 先安装cmakeyum -y install gcc gcc-ctar zxvf /home/aa/cmake-3.1.3.tar.gz -C /usr/src/cd /usr/src/cmake-3.1.3/./configuremake && make install2. 安装mysql 5.6.23useradd -M -s /sbin/nologin mysqlyum -y install ncurses ncurses-devel bi…

thinkphp mysql exp_thinkphp备份数据库的方法分享

貌似THINKPHP没有备份数据库的方法,所以我自己写了一个,数据库连接和事务处理用的是pdo,如果有需要的可以联系我,写个mysql或者mysqli的class SqlAction extends Action{function outsql(){header(“Content-Type:text/html;chars…

mysql+distinct+max_MySQL中distinct与group by之间的性能进行比较

最近在网上看到了一些测试,感觉不是很准确,今天亲自测试了一番。得出了结论,测试过程在个人计算机上,可能不够全面,仅供参考。测试过程:准备一张测试表CREATE TABLE test_test (id int(11) NOT NULL auto_i…

增大mysql修改表空间_innodb系统表空间维护方法

环境说明:有一个在运行中的mysql环境,由于之前的配置文件设置的过于简单(没有配置innodb_data_file_path变更);造成现在系统表空间已经满了如果innodb_data_file_path之前没有设置那么它会采用默认值:innodb_data_file_pathibdata1:12M&#…

mysql的内外连接_MYSQL的内外连接

1、内联接(典型的联接运算&#xff0c;使用像 或 <> 之类的比较运算符)。包括相等联接和自然联接。内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如&#xff0c;检索 students和courses表中学生标识号相同的所有行。2、外联接。外联接可以是左向外联…

java classes 路径_Java获取项目路径及classes路径

1.获取项目绝对路径一String rootPath request.getSession().getServletContext().getRealPath("/").replace("\\", "/");获取内容如下&#xff1a;D:/apacheTomcat/apache-tomcat-7.0.59/webapps/test/2.获取web工程名String projectName req…

java线程变量值_JAVA线程中对变量值的修改

在java线程并发处理中&#xff0c;有一个关键字volatile的使用目前存在很大的混淆&#xff0c;以为使用这个关键字&#xff0c;在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的&#xff0c;为了解决线程并发的问题&#xff0c;在语言内部引入了 同步块 和 v…

java生成大素数_用BigInteger实现大素数生成算法

一&#xff0e;通过素数的基本性质根据素数的性质(除了1和此整数(n)自身外&#xff0c;无法被其他自然数整除的数)&#xff1a;即从2到n/2的数都不能整除n。1 public static booleanisPrime(BigInteger num)2 {3 BigInteger two BigInteger.valueOf(2);4 for(BigInteger i tw…

java 动态schema_在hibernate中动态切换Schema

/p>"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">上面的代码部分&#xff0c;就指定了Schema.如果在操作的时候想切换Schema.操作如下&#xff1a;默认的配置POI_BEIJING上面的映射文件改为&#xff1a;/p>"http://hibernate.source…

JAVA shell export_Java 远程调用Shell

Java 远程调用Shell上一篇 /下一篇 2014-01-21 13:29:22/ 个人分类&#xff1a;JavaRemote Shell Scripts need to export the ENV variable again.public class JavaRemoteRunShell {private Connection conn;private String ipAddr;private String charset Charset.default…

jsch mysql_java JDBC 连接MySql

Java连接数据库(以MySQL为例)2007-04-05 02:23 这篇文章主要以MySQL为例讲下Java如何连接到数据库的。当然&#xff0c;首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL&#xff0c;这些都比较简单&#xff0c;具体过程就不说了。配置好这两个环境后&#xff0c;下载…

linux java 环境配置_linux下java开发环境配置

jdk1 下载jdk:jdk-6u22-linux-i586.bin2 增加可执行权限:chmod x jdk-6u22-linux-i586.bin3 复制到/usr下sudo cp jdk-6u22-linux-i586.bin /usr4 执行./jdk-6u22-linux-i586.bin5 设置环境变量vi ~/.bashrc在最后加入:#set java enviromentexport JAVA_HOME/usr/jdk1.6.0_22ex…

java阻塞锁_java – 阻止锁与非阻塞锁

以下是Java Concurrency in Practice关于该主题的内容&#xff1a;The JVM can implement blocking either via spin-waiting (repeatedlytrying to acquire the lock until it succeeds) or bysuspending theblocked thread through the operating system. Which is more effi…

python内存管理机制_python内存管理机制

python内存管理机制:引用计数垃圾回收(引用计数&#xff0c;标记清除&#xff0c;分带回收)内存池1. 引用计数当一个python对象被引用时 其引用计数增加 1 ; 当其不再被变量引用时 引用计数减 1 ; 当对象引用计数等于 0 时, 对象被删除(引用计数是一种非常高效的内存管理机制)增…

java 大文件下载_Java大文件下载不全问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼各位同学好&#xff0c;目前碰到一个问题&#xff0c;Java平台下载大文件下载一部分就结束不能全部下载&#xff0c;有可能是网络问题造成下载中断&#xff0c;请问大家有什么解决办法吗&#xff0c;或者有遇到类似问题的一起讨论一…

java告警系统设计_告警系统的设计

现在告警系统可以说是系统的必备部分&#xff0c;只要有监控&#xff0c;就需要一个告警系统来帮忙主动推送消息&#xff0c;以此减少人不停的主动查看监控的作用。在最初的告警系统中&#xff0c;基本主要就是设置阈值&#xff0c;达到阈值就发生告警。这个在机器数量少的时候…