TiDB 전량 이전,MySql 에서 tidb 로 이전

6580 단어 TiDB
전량 데이터 이동mydumper강력 한 데이터 이전 도구 로 구체 적 으로 max bube/my dumper 를 참고 할 수 있 습 니 다.MySQL 에서 데 이 터 를 내 보 낸 다음 loader 로 TiDB 로 가 져 올 수 있 습 니 다.
주의:
TiDB 도 MySQL 공식mydumper 도 구 를 사용 하여 데이터 이전 작업 을 지원 하지만mysqldump/mydumper에 비해 성능 이 훨씬 느 리 고 대량의 데이터 이전 에 많은 시간 이 걸 릴 수 있 으 므 로 추천 하지 않 습 니 다.loader데이터 가 져 오기 최 적 실천
빠 른 데이터 이전(특히 데이터 양 이 많은 라 이브 러 리)을 위해 다음 과 같은 제안 을 참고 할 수 있 습 니 다.
  • Mydumper 내 보 내기 데 이 터 는 최소한 SELECT,RELOAD,LOCK TABLES 권한
  • 이 있어 야 합 니 다.
  • Mydumper 를 사용 하여 가 져 온 데이터 파일 은 가능 한 한 작 습 니 다.64M 을 초과 하지 않 는 것 이 좋 습 니 다.매개 변수-F 64
  • 를 설정 할 수 있 습 니 다.
  • oader 의-t 매개 변 수 는 TiKV 의 인 스 턴 스 갯 수 와 부하 에 따라 평가 하고 조정 할 수 있 습 니 다.예 를 들 어 3 개의 TiKV 장면,이 값 은 3*(1~n)로 설정 할 수 있 습 니 다.TiKV 부하 가 너무 높 으 면 loader 와 TiDB 로그 에 대량의 backoffer.max Sleep 15000 ms is exceeded 가 나타 나 면 이 값 을 적 절 히 줄 일 수 있 습 니 다.TiKV 부하 가 너무 높 지 않 을 때 이 값 을 적 절 히 늘 릴 수 있 습 니 다.

  • 예제 및 관련 설정 가 져 오기:
  • Mydumper 내 보 내기 후 총 데 이 터 량 214 G,표 8 열,20 억 줄 데이터
  • 클 러 스 터 토폴로지 1.TiKV*12 2.TiDB*4 3.PD*3
  • Mydumper-F 는 16,Loader-t 인 자 는 64
  • 로 설정
    결과:도입 시간 11 시간 정도,19.4G/시간
    MySQL 에서 데이터 내 보 내기
    저 희 는 mydumper/loaderMySQL 에서 데 이 터 를 내 보 냅 니 다.다음 과 같 습 니 다.
    ./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두 장의 표 만 표시 합 니 다.t216 개의 스 레 드 를 사용 하여 데 이 터 를 내 보 내 는 것 을 나타 낸다.-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    |
    +----+------+
    

    좋은 웹페이지 즐겨찾기