TiDB 전량 이전,MySql 에서 tidb 로 이전
6580 단어 TiDB
mydumper
강력 한 데이터 이전 도구 로 구체 적 으로 max bube/my dumper 를 참고 할 수 있 습 니 다.MySQL 에서 데 이 터 를 내 보 낸 다음 loader 로 TiDB 로 가 져 올 수 있 습 니 다.주의:
TiDB 도 MySQL 공식
mydumper
도 구 를 사용 하여 데이터 이전 작업 을 지원 하지만mysqldump
/mydumper
에 비해 성능 이 훨씬 느 리 고 대량의 데이터 이전 에 많은 시간 이 걸 릴 수 있 으 므 로 추천 하지 않 습 니 다.loader
데이터 가 져 오기 최 적 실천빠 른 데이터 이전(특히 데이터 양 이 많은 라 이브 러 리)을 위해 다음 과 같은 제안 을 참고 할 수 있 습 니 다.
예제 및 관련 설정 가 져 오기:
결과:도입 시간 11 시간 정도,19.4G/시간
MySQL 에서 데이터 내 보 내기
저 희 는
mydumper/loader
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
위 에서 우 리 는
mydumper
을 사용 하여 -B test
이 database 작업 에 대해 표시 한 다음 에 test
로 내 보 내기-T t1,t2
,t1
두 장의 표 만 표시 합 니 다.t2
16 개의 스 레 드 를 사용 하여 데 이 터 를 내 보 내 는 것 을 나타 낸다.-t 16
실제 table 을 얼마나 크게 자 른 chunk 인 데 여기 가 64MB 의 chunk 입 니 다.-F 64
이 매개 변 수 를 추가 하면 MySQL 과 데 이 터 를 유도 하 는 기계 간 의 시간 대 설정 이 일치 하지 않 는 상황 을 무시 하고 자동 변환 을 금지 합 니 다.주의:
아 리 클 라 우 드 등 필요 한 클 라 우 드 위 에
–skip-tz-utc
인 자 를 더 해 야 합 니 다.그렇지 않 으 면 조작 권한 이 없다 는 것 을 알려 줍 니 다.TiDB 에 데이터 가 져 오기
주의:
현재 TiDB 는 UTF8mb 4 문자 인 코딩 을 지원 합 니 다.Mydumper 가 데 이 터 를 latin 1 문자 인 코딩 으로 내 보 냈 다 고 가정 하면
super privilege
명령 으로 변환 하 십시오.$file 은 기 존 파일 이 고$basename 은 변환 후 파일 입 니 다.주의:
Mydumper 가-m 인 자 를 사용 하면 표 구조 가 없 는 데 이 터 를 내 보 냅 니 다.이 때 loader 는 데 이 터 를 가 져 올 수 없습니다.
저 희 는
mydumper
이전에 내 보 낸 데 이 터 를 TiDB 에 가 져 옵 니 다.Loader 의 다운로드 와 구체 적 인 사용 방법 은 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 |
+----+------+