mydumper
是乙個強大的資料遷移工具,具體可以參考 maxbube/mydumper。你可以使用mydumper
從 mysql 匯出資料,然後用 loader 將其匯入到 tidb。
注意:結果:匯入時間 11 小時左右,19.4 g/小時雖然 tidb 也支援使用 mysql 官方的
mysqldump
工具來進行資料的遷移工作,但相比於mydumper
/loader
,效能會慢很多,大量資料的遷移會花費很多時間,這裡我們並不推薦。
我們使用mydumper
從 mysql 匯出資料,如下:
.
/bin/mydumper -h 127.0
.0.1
-p 3306
-u root -t 16
-f 64
-b test -t t1,t2 --skip-tz-utc -o ./var/test
上面,我們使用-b test
表明是對test
這個 database 操作,然後用-t t1,t2
表明只匯出t1
,t2
兩張表。
-t 16
表明使用 16 個執行緒去匯出資料。-f 64
是將實際的 table 切分成多大的 chunk,這裡就是 64mb 乙個 chunk。
–skip-tz-utc
新增這個引數忽略掉 mysql 與導資料的機器之間時區設定不一致的情況,禁止自動轉換。
注意:在阿里雲等一些需要
super privilege
的雲上面,mydumper
需要加上--no-locks
引數,否則會提示沒有許可權操作。
注意:目前 tidb 支援 utf8mb4 字元編碼,假設 mydumper 匯出資料為 latin1 字元編碼,請使用
iconv -f latin1 -t utf-8 $file -o /data/imdbload/$basename
命令轉換,$file 為已有檔案,$basename 為轉換後檔案。注意:
如果 mydumper 使用 -m 引數,會匯出不帶表結構的資料,這時 loader 無法匯入資料。
.
/bin/loader -h 127.0
.0.1
-u root -p 4000
-t 32
-d .
/var/test
show
tables
;
+
----------------+
| tables_in_test |
+----------------+
| t1 |
| t2 |
+----------------+
select
*from t1;
+
----+------+
| id | age |
+----+------+|1
|1||
2|2|
|3|3
|+----+------+
select
*from t2;
+
----+------+
| id | name |
+----+------+|1
| a ||2
| b ||3
| c |
+----+------+
tidb和mysql導資料 TIDB資料遷移
使用 mydumper loader 全量匯出匯入資料 將 mysql 的資料遷移到 tidb,tidb完全相容 mysql 協議和生態,遷移便捷 使用官方提供的遷移工具 wget wget 檢查檔案完整性,返回 ok 則正確 sha256sum c tidb enterprise tools la...
db mysql全量遷移db
機房要裁撤,原有的老業務機的mysql需要遷移到新的.方案1 全量打包拷貝data目錄,發現拷過去各種毛病 方案2 mysqldump邏輯匯出解決問題 新的db剛安裝好.步驟記錄下.備份 mysqldump uroot a b r tmp mysqlbak date f sql 匯入用source ...
Mysql資料遷移到TIDB詳解
我從業16年來,使用了太多的資料庫 rdbms nosql newsql 首先我說一下資料庫的變遷和發展歷史 以 mysql 為例剛開始時,它是乙個單機模式,但是隨著資料庫的資料量的增加及使用者對效能要求的提高,它的儲存容量和效能都遇到了瓶頸。這些需求催生了新的解決方案,那就是 mysql 主從模式...