원래 수업 실습 때 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 된 것을 확인할 수 있었다.
너무... 간단했는데 몇 시간을 낭비한 거야...
'SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 SQL 고득점 Kit - SELECT 풀이 (0) | 2023.05.26 |
---|---|
[MySQL] 프로그래머스 SQL 고득점 Kit - SELECT 풀이 (0) | 2023.05.23 |