applan의 개발 이야기

[오류해결] Mysql 8.x 오류 ( Illegal mix of collations (utf8mb4_general_ci, IMPLICIT) vs (utf8mb4_0900_ai_ci, IMPLICIT) for operation ‘=’ ) 본문

개발/Etc.

[오류해결] Mysql 8.x 오류 ( Illegal mix of collations (utf8mb4_general_ci, IMPLICIT) vs (utf8mb4_0900_ai_ci, IMPLICIT) for operation ‘=’ )

applan 2025. 9. 5. 16:28
728x90

💥 발생

기존 서버에 올라가있는 MariaDB 를 Dump 받아서 Mysql Docker 를 로컬에 실행 후 Dump 를 내려받고 정상 실행. 

이후 백엔드 서버를 가동하여 페이지를 열었더니 서버 오류가 발생하며 Illegal mix of collations (utf8mb4_general_ci, IMPLICIT) vs (utf8mb4_0900_ai_ci, IMPLICIT) for operation ‘=’ 오류 문구확인 

🧑‍💻 문제 확인

Illegal mix of collations: 데이터베이스 작업 중 서로 다른 비교 규칙을 가진 데이터들을 비교하려고 할 때 발생하는 오류,

문제는 그 뒤에있는 utf8mb4_general_ci / utf8mb4_0900_ai_ci 로 판단함.

 

GPT 응답 :

🤔 문제 해결 과정

왜 이런 오류가 발생하는지 우선 찾아보았다. 

GPT에게 중요한 힌트를 얻을 수 있었는데.

예전에는 Mysql = MariaDB ( 큰 차이 없음 ) 이라고 생각했던게 불찰이였다.

ps. Sun 이 Mysql 을 인수 후 버전이 올라갈수록 차이가 커졌고, 100% 호환이 아님.

😃 문제 해결

Mysql Driver 를 이용하여 DBeaver 에서 커넥션 만든 것을 MariaDB Driver 커넥션으로 변경하여 수정

 

728x90
Comments