상황
- mysql Index column size too large the maximum column size is 767 bytes. 와 같은 에러 메시지가 나온다.
- 인덱스 사이즈가 너무 커서 발생하는 문제이다.
해결방안
- MySQL my.cnf 파일 찾기를 참고하여 my.cnf파일을 찾는다.
- my.cnf 파일의 내용을 다음과 같이 수정한다.
[mysqld] ... innodb_file_format=barracuda innodb_large_prefix=on innodb_file_per_table=on ...
- 추후 테이블을 생성시 ROW_FORMAT=DYNAMIC 를 추가한다.
CREATE TABLE `task_fail` ( `id` int(11) NOT NULL AUTO_INCREMENT, `task_id` varchar(250) NOT NULL, `dag_id` varchar(250) NOT NULL, `execution_date` timestamp(6) NOT NULL, `start_date` timestamp(6) NULL DEFAULT NULL, `end_date` timestamp(6) NULL DEFAULT NULL, `duration` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_task_fail_dag_task_date` (`dag_id`,`task_id`,`execution_date`) ) ENGINE=InnoDB AUTO_INCREMENT=592 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
참고
반응형
'기타' 카테고리의 다른 글
MySQL database character set 변경 (0) | 2020.06.03 |
---|---|
Airflow Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql (0) | 2020.06.03 |
Excel에 ODBC 연동하기(Mac) (1) | 2020.06.03 |
MySQL my.cnf 파일찾기 (0) | 2020.06.03 |
MySQL port번호 확인 (0) | 2020.06.03 |