日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

發布時間:2025/3/12 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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日

發現寫入數據不等會有的情況索引是不會加上的,而且還丟東西。現在都能復制走了。

總結

以上是生活随笔為你收集整理的mysql 数据记录导出_mysql如何导出600万条记录的数据表?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。