나는 각각 약 12 개의 테이블을 가진 약 100 개의 데이터베이스 (모두 동일한 구조, 다른 서버에만 있음)를 가지고 있습니다. 대부분의 테이블은 작습니다 (100MB 이하라고합시다). 테이블이 커질 수있는 경우가 있습니다 (4GB +라고 말하면됩니다).생산 데이터베이스의 MySql ALTER TABLE - 모든 문제점?
각 데이터베이스의 거의 모든 테이블에 대해 일련의 ALTER TABLE 명령을 실행해야합니다. 주로 구조에 일부 행을 추가하지만 행을 varchar에서 tinytext (또는 그 반대)로 변경하는 것과 같은 몇 가지 변경 사항이 있습니다. 또한 몇 가지 새로운 색인을 추가합니다 (그러나 새로운 행의 색인을 생성하고 기존의 색인을 색인하지 않으므로 큰 문제는 아닙니다).
이 작업이 얼마나 안전하며이 프로세스에 대한 모범 사례가 있는지 궁금합니다.
먼저 테이블의 데이터가 손상되거나 삭제 될 수 있습니다. 나는 의심하지만 확신 할 필요가있다.
두 번째로, 더 큰 테이블 (4GB 이상)의 경우, 몇 분에서 수 시간 걸릴 수 있습니다.
프로덕션 데이터베이스에서 ALTER TABLE 명령을 수행하는 것에 대해 알아야 할 모든 것이 학습에 관심이 있습니다.
그 값을 알고 있다면, 나는 대부분 PHPMYADMIN을 통해 명령을 내릴 계획입니다.
감사합니다.
좋은 질문은 이것에 대한 답을보기 좋을 것이다. 나의 초기의 의심은 테이블을 변경하는 경우 MySQL이 모든 행을 편집해야한다고 생각하지 않기 때문이다 - 확신 할 수는 없지만,이 하나에 자신을 던지고 교육받은 마음을 기대하십시오 :) – suitedupgeek
+1 좋은 질문. – ziya