2014-04-03 8 views

답변

0

일할 수도 있지만 테이블 복사본을 만들고 복사본의 저장소 엔진 변경 작업을 시도하는 것이 좋습니다. 또한 당신에게 작업에 필요한 시간의 추정치를 줄 것이다

.

은 더 나은 귀하의 응용 프로그램의 복사본을 그렇게하면하고는 새로운 스토리지 엔진을 전혀 작동할지 여부 광범위한 점검을 만들 것입니다.

+0

그래서 테이블 복사와 phpmyadmin을 사용하여 InnoDB로 변환하는 방법은 무엇입니까? – Nikola

+0

@Nikola - 단계별로 수행하십시오. 복사 한 다음 엔진을 변경하십시오. – blue

2

당신은 실제로 테이블에 쓰기 잠금을 얻을 것이다. 새 테이블을 만들고 복사하는 동안 테이블에서 계속 읽을 수 있습니다. 문서에서

ALTER TABLE의 : ALTER 표가 실행

동안 (예외가 곧 지적과), 원래의 테이블이 다른 세션에 의해 읽을 수 있습니다. 업데이트 및 새 테이블이 준비 될 때까지 ALTER 표 작업이 가 정지되어 시작된 후 시작 테이블에 를 기록 후 어떤없이 새 테이블로 재 업데이트를 실패 자동 있습니다. ...

언급 된 예외 이전 ALTER 표 블록 이전 파일을 삭제, 테이블 .frm 파일의 새로운 버전을 설치할 준비가 지점에서 이 (그냥 쓰기) 읽고 있다는 것입니다, 테이블 및 테이블 정의 캐시에서 오래된 테이블 구조를 지우십시오. 이 시점에서 배타적 잠금을 획득해야합니다. 이렇게하기 위해 현재 독자가 완료 할 때까지 을 기다리고 새로운 읽기 (및 쓰기)를 차단합니다.