tidb 批量數據導入命令mysql
tidb 數據導出命令sql
1.設置mysql的binlog格式爲rowbash
show variables like 'binlog_format'
2.將mysql數據導出spa
./bin/mydumper -h mysqlip -P 3306 -u root -p password -t 16 -F 64 -B database --skip-tz-utc -o ./var/databasecode
3.導入數據到tidborm
./bin/loader -h tidbip -u root -P 4000 -p password -t 32 -d ./var/databaseserver
4.配置syncer.metaip
binlog-name = "mysql-bin.000032"同步
binlog-pos = 3222string
binlog-gtid = ""
binlog-name和binlog-pos能夠在var/database/metadata 中找到
5.配置syncer.toml
log-level = "info"
server-id = 101
meta = "./syncer.meta"
worker-count = 16
batch = 10
replicate-do-db = ["database"]
[from]
host = "mysqlip"
user = "root"
password = "password"
port = 3306
[to]
host = "127.0.0.1"
user = "root"
password = "password"
port = 4000
6.啓動syncer
./bin/syncer -config config.toml
數據同步中遇到的問題
1.當binlog中有修改字段類型時,tidb不支持int 轉varchar,也不支持datetime轉varchar
解決方案:須要手動刪除新建須要轉換的字段,而且保證轉換的字段順序和同步的表的字段順序一致