五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

MySQL數(shù)據(jù)庫遷移快速導(dǎo)出導(dǎo)入大量數(shù)據(jù)

發(fā)布日期:2022-03-14 14:35 | 文章來源:CSDN

數(shù)據(jù)庫遷移是我們經(jīng)??捎龅降膯栴},對于少量的數(shù)據(jù),遷移基本上不會有什么問題。生產(chǎn)環(huán)境中,有以下情況需要做遷移工作:

  • 磁盤空間不夠。比如一些老項目,選用的機型并不一定適用于數(shù)據(jù)庫。隨著時間的推移,硬盤很有可能出現(xiàn)短缺;
  • 業(yè)務(wù)出現(xiàn)瓶頸。比如項目中采用單機承擔所有的讀寫業(yè)務(wù),業(yè)務(wù)壓力增大,不堪重負。如果 IO 壓力在可接受的范圍,會采用讀寫分離方案;
  • 機器出現(xiàn)瓶頸。機器出現(xiàn)瓶頸主要在磁盤 IO 能力、內(nèi)存、CPU,此時除了針對瓶頸做一些優(yōu)化以外,選擇遷移是不錯的方案;
  • 項目改造。某些項目的數(shù)據(jù)庫存在跨機房的情況,可能會在不同機房中增加節(jié)點,或者把機器從一個機房遷移到另一個機房。再比如,不同業(yè)務(wù)共用同一臺服務(wù)器,為了緩解服務(wù)器壓力以及方便維護,也會做遷移。

MySQL遷移通常使用的有三種方法:

1、數(shù)據(jù)庫直接導(dǎo)出,拷貝文件到新服務(wù)器,在新服務(wù)器上導(dǎo)入。

2、使用第三方遷移工具。

3、數(shù)據(jù)文件和庫表結(jié)構(gòu)文件直接拷貝到新服務(wù)器,掛載到同樣配置的MySQL服務(wù)下。

第一種方案的優(yōu)點:會重建數(shù)據(jù)文件,減少數(shù)據(jù)文件的占用空間,兼容性最好,導(dǎo)出導(dǎo)入很少發(fā)生問題,需求靈活。缺點:使用傳統(tǒng)導(dǎo)出導(dǎo)入時間占用長。

第二種方案的優(yōu)點:設(shè)置完成后傳輸無人值守,自動完成。缺點:不夠靈活,設(shè)置繁瑣,傳輸時間長,異常后很難從異常的位置繼續(xù)傳輸。

第三種方案的優(yōu)點:時間占用短,文件可斷點傳輸,操作步驟少。缺點:新舊服務(wù)器中MySQL版本及配置必須相同,可能引起未知問題。

假如數(shù)據(jù)庫遷移是因為業(yè)務(wù)瓶頸或項目改造等需要變動數(shù)據(jù)表結(jié)構(gòu)的(比如分區(qū)分表),我們便只能使用第一種方法了。

使用MySQL的SELECT INTO OUTFILE 、LOAD DATA INFILE快速導(dǎo)出導(dǎo)入數(shù)據(jù)

LOAD DATA INFILE語句從一個文本文件中以很高的速度讀入一個表中。MySQL官方文檔也說明了,該方法比一次性插入一條數(shù)據(jù)性能快20倍。

當用戶一前一后地使用SELECT ... INTO OUTFILE LOAD DATA INFILE 將數(shù)據(jù)從一個數(shù)據(jù)庫寫到一個文件中,然后再從文件中將它讀入數(shù)據(jù)庫中時,兩個命令的字段和行處理選項必須匹配。否則,LOAD DATA INFILE 將不能正確地解釋文件內(nèi)容。

下面是一個項目的例子,MySQL由windows平臺遷移到Linux平臺,數(shù)據(jù)總量12G

Windows平臺導(dǎo)出數(shù)據(jù):

tables.txt是保存數(shù)據(jù)表名稱的文件,通過從文件中讀取數(shù)據(jù)表名稱,循環(huán)導(dǎo)出所有表:如果過程中攝及到分表,可根據(jù)分表規(guī)則修改導(dǎo)出的sql語句和批處理代碼,非常靈活。

@echo off & setlocal enabledelayedexpansion
for /f %%i in (tables.txt) do ( set table=%%i
 echo "dump table -- !table! --"
 mysql -uroot -p12345678 codetc_old -e "SELECT * INTO OUTFILE 'F:/MySQL/Uploads/!table!.txt' FIELDS TERMINATED BY ',' FROM !table!"
)
pause

Linux平臺導(dǎo)入數(shù)據(jù):

#!/bin/bash
while read line
do
    mysql -uroot -p12345678 codetc_new -e "LOAD DATA INFILE '/var/lib/mysql-files/$line.txt' INTO TABLE $line FIELDS TERMINATED BY ','"
done < tables.txt

數(shù)據(jù)導(dǎo)入之前需在新機器上創(chuàng)建表結(jié)構(gòu),12G的數(shù)據(jù)導(dǎo)出用時3分鐘左右,導(dǎo)入用時4分鐘左右(執(zhí)行時間根據(jù)機器的配置會有所不同,不具有參考價值)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對本站的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

海外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部