mysqldump切割匯出及匯入

2022-08-16 23:30:23 字數 941 閱讀 9198

近期有些20g的靜態表需要遷移資料庫

為了保障效能,沒有使用myisam , 考慮到單個庫有20g,直接使用mysqldump 代價會比較大,後來改良dump的過程【分塊匯出,減少資料庫壓力】實現資料遷移。 後記:mydumper 也能併發處理類似場景,甚至支援 binlog 的同步,保持資料一致

注意:1、資料表必須有主鍵

2、需要自行判斷執行結果

3、需要自行將dump檔案傳輸至目標伺服器

簡單**如下:

匯出-此方式是通過id將資料分步生成多個sql檔案

for tablename in

tablename ;

dofor i in ; do

echo

$i ; #切割份數

n=61310

; # 每份行數

let a=$n*$i ; let b=$n*$i+$n ; echo

$a $b ;

mysqldump --no-set-names --skip-disable-keys --skip-add-locks --skip-create-options --skip-add-drop-table --where="

id >=$a and id <$b

" sourceschema $ | gzip > /tmp/$_20180308_$i.sql.gz;

done

; done

匯入-可以根據資料庫情況,併發匯入, -f 可以避免表存在的錯誤

for tablename in `find  /tmp -type f -name "

tablename*0308*.sql.gz

" ` ; do

echo $; gunzip

< $ | mysql -f test ; done

mysqldump匯出引數

mysqldump匯出引數 資料庫 zongfeng 發表於2005 09 29 比較詳細 mysqldump命令位於mysql bin 目錄中 mysqldump 工具很多方面類似相反作用的工具mysqlimport。它們有一些同樣的選項。但mysqldump能夠做更多的事情。它可以把整個資料庫裝...

mysqldump匯出方法

mysqldump匯出方法 字符集設定 myproject 替換為自己的資料庫名稱 從資料庫匯出資料 執行cmd 命令 首先進入mysql 的bin目錄下 cd d program files x86 mysql mysql server 5.0 bin 匯出 mysqldump u root p ...

MySQL dump匯出匯入

1.匯出庫指令碼,資料庫名稱 mysql,要匯出到data資料夾下的mysql.sql檔案中 mysqldump uroot databases mysql p data mysql.sql 回車後輸入資料庫密碼 2.使用剛剛生成的mysql.sql指令碼匯入已有資料庫mysql mysqldump...