원래 수업 실습 때 EC2 서버로 워크벤치를 사용하다가 인스턴스 스팟을 요청해 놓으니까 자꾸 내려가서 다시 설정해야 되는 게 너무 번거로웠다. mysql 컨테이너 띄우고, 접속해서 dump 파일 가져오고.. 그래서 결국 로컬호스트를 사용해 보자. 하고 Wnmp를 깔았는데 mariaDB랑 내 워크벤치랑 호환성 문제 때문인지 자꾸 dump 해 둔 파일을 import 하려니까  

 

ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_0900_ai_ci'

 

이런 에러가 떠서 스키마는 가져올 수 있는데 테이블이 안 가져와지는 문제가 계속해서 발생했다. 진짜 구글링을 몇시간동안 한지 모르겠는데 이런 경우가 많이 없는 듯하다. 하.. 워크벤치를 다운그레이드해보기도 하고 다 해봤는데 하나가 되면 하나가 안되고 그래서 워크벤치는 그냥 최신버전으로 다시 돌려놨다.

 

검색을 좀 하다 보니까 utf8mb4_0900_ai_ci collation은 MySQL 8.0.0 이상의 버전에서만 지원이 가능해서 이런 에러가 발생할 수 있다는 거였다. 이걸 해결하기 위한 방법이 두 가지가 있는데

 

1. 'utf8mb4_0900_ai_ci' collation을 지원하는 MySQL 서버 버전을 사용한다. (8.0.0 이상의 버전)

MySQL 서버가 이 버전보다 낮은 경우, 해당 collation을 사용할 수 없다.

 

2. 대체 collation을 사용한다. 

나는 이미 MySQL 서버가 8.0.0 버전이여서 이 방법으로 진행했는데  'utf8mb4_0900_ai_ci' 대신 'utf8mb4_general_ci' 또는 'utf8mb4_unicode_ci' 와 같은 유효한 collation으로 변경하여 시도하면 된다.

 

나는 덤프해둔 파일을 메모장으로 열어서 해당 에러 부분이 발생한 부분을 찾고 'utf8mb4_0900_ai_ci'를 'utf8mb4_general_ci'로 변경하여 다시 import 해주었다.

 

 

 

스키마를 확인해보니 정상적으로 테이블이 import 된 것을 확인할 수 있었다.

 

 

너무... 간단했는데 몇 시간을 낭비한 거야...

복사했습니다!