수십억 달러의 수 데이터베이스를 하나의 테이블을 MySQL은, 백업 66기가바이트 점유 상황을 저장하는 데이터 테이블, 삭제, 롤백 기록

 

서로 배울 댓글을 달 수있는 더 나은 솔루션이있는 경우 신인, 그냥 자신의 생각과 관행을 기록;

다음 시간 후에, 데이터의 양은 1000 만 2 억에 도달했습니다; 프로젝트 설계 시간, 설계 캐시 동기화 기록 테이블의 시작부터 지금 삭제 데이터를해야하고, 심지어 완전히 삭제, 66기가바이트의 크기에 대한 아무 문제뿐만 아니라, 그냥 백업 및 롤백 스크립트 경우에 쓰기;

단일 테이블의 데이터 량을 다음과 같이 :(의 data_length 필드 테이블 데이터베이스 조회 테이블 정보 1,024 세 개의 GB 이상 분할 후의 필드 행의 크기, 데이터 수의 양 (*) 타임 아웃은 또한 max_execution_time이라는 = 30000이더라도)

 

백업 및 스크립트를 실행 : 백업 라이브러리에 remane가 cache_his이 테이블에있다 방법을 생각할; 새 테이블을 만들려면 다음과 같이;

롤백 스크립트입니다 : 공식 저장소에 라이브러리 이름을 변경 한 후 삭제와 같은 새 테이블을 만든 다음 테이블을 백업하고;

예를 들면 : 삭제할 테이블 백업 cache_his이다;

백업 및 스크립트의 효과 삭제합니다 . (데이터베이스 및 테이블 도트 () 연결 사이에 사용)

새 백업 백업 데이터베이스 테이블 이름을 바꾸려면 표 공식 데이터베이스 테이블 이름은; .. 효과는 표 형식 라이브러리와 백업 저장소에 컷의 데이터를 삭제하는 것입니다;

공식적으로 이름 바꾸기 테이블 데이터베이스 백업 저장소 .new_copy_cache_his에 .cache_his; 

그런 다음 다른 테이블의 결과를 만들 :

형식 라이브러리 .cache_his 백업 라이브러리 .new_copy_cache_his 맘에 테이블을 생성;

여기 백업이 완료 삭제;

당신이 롤 다시 문제로 필요하면 바로 새 테이블 cache_his을 삭제 한 후 같은 방법으로 공식적으로 백업 라이브러리에 라이브러리의 이름을 변경,
예를 들면 :

, 이름 바꾸기를 새 테이블을 삭제, 테이블 cache_his 드롭

형식 라이브러리에 .cache_his에 이름 바꾸기 테이블 백업 라이브러리는 .new_copy_cache_his

 

이 데이터 백업의 단일 테이블 많은 양의 상대적으로 빠른 완료를 허용하고 롤백을 삭제할 신인을 서로 배울 댓글을 달 수있는 더 나은 솔루션이 있다면 바로 자신의 아이디어와 관행을 기록;

게시 된 301 개 원래 기사 · 1백97원 찬양 · 전망 270 000 +

추천

출처blog.csdn.net/boss_way/article/details/102782697