반응형 REPAIR2 UFT8MB4 변환시 에러 - Specified key was too long; max key length is 3072 bytes UTF8 -> UTF8MB4 변환시 발생하는 에러중 하나로 아래처럼 변환시 에러가 발생한다.ALTER TABLE 테이블명 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 에러 발생 [ERROR] /usr/local/libexec/mysqld: Incorrect key file for table '테이블명.MYI'; try to repair it 이경우 UTF8MB4 에서는 한 글자당 4바이트이기 때문에 인덱스 최대 사이즈가 달라지기 때문에 발생한다.4000바이트로 최대값인 3072바이트보다 크기 때문이다. # 해결 방벙 > 속성의 크기를 줄인다.ALTER TABLE 테이블명 DROP PRIMARY KEY, ADD PRIMARY KEY(컬럼.. 2024. 4. 30. [MySQL] CHECK TABLE & Repair TABLE ■ CHECK TABLE 명령 CHECK TABLE tbl_name [, tbl_name] ... [option] ... option: { FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED } CHECK TABLE은 테이블에 오류가 있는지 확인합니다. MyISAM 테이블의 경우 주요 통계도 업데이트됩니다. CHECK TABLE은 뷰 정의에서 더 이상 존재하지 않는 테이블을 참조하는 문제같은 것들을 확인할 수도 있습니다. 테이블을 확인하려면 테이블에 대한 권한이 있어야합니다. CHECK TABLE은 InnoDB, MyISAM, ARCHIVE 및 CSV 테이블에서 작동합니다. InnoDB 테이블에서 CHECK TABLE을 실행하기 전에 InnoDB 테이블에.. 2024. 1. 12. 이전 1 다음 반응형