반응형

CentOS 7에서 mariaDB를 설치하고 테이블 생성 시 아래와 같은 에러가 발생했을 때 해결 방법입니다.

character varchar limit

테이블 생성 스크립트

CREATE TABLE TAB 
(
  COL VARCHAR(200)
);

 

에러 메시지

mariadb specified key was too long max key length is 767 bytes

 

에러 발생 원인

character가 utf8mb4로 되어 있어서 입니다.

utf8, utf8mb4에 따라서 VARCHAR 최대값이 달라서 발생을 한 것입니다.

INNODB utf8 VARCHAR(255)
INNODB utf8mb4 VARCHAR(191)

해결 방법

/etc/my.cnf 설정 파일에서 utf8로 변경하여 DB 재시작 후
Database부터 새로 생성을 하여 테이블을 만들면 원하는 사이즈의 테이블이 생성됩니다.

character-set-server = utf8
collation-server = utf8_general_ci

 

mariadb specified key was too long max key length is 767 bytes 에러가 발생했던 설정 내용

/etc/my.cnf
character-set-server = utf8mb4
collation_server = utf8mb4_general_ci
반응형

+ Recent posts