728x90
반응형
문제점 및 증상
MariaDB와 연동하는 과정에서 다음과 같은 오류가 발생하였습니다.
sqlalchemy (mysql.connector.errors.DatabaseError) 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
시험 환경
- MariaDB : 10.6.4
- Database charset : utf8mb4
- TABLE COLLATE : utf8mb4_unicode_ci
해결 방안
해결 방법은 아주 간단합니다.
다음과 같이 DB 연결 문자열 마지막에 "?charset=utf8mb4&collation=utf8mb4_general_ci"를 추가해 주시면 됩니다.
db_url = f"mysql+mysqlconnector://{conf.get(JKEY_USERNAME)}:{conf.get(JKEY_PASSWORD)}@{conf.get(JKEY_DB_HOST)}:{conf.get(JKEY_DB_PORT)}/{conf.get(JKEY_DB_NAME)}?charset=utf8mb4&collation=utf8mb4_general_ci"
self._engine = create_engine(db_url, encoding = conf.get(JKEY_DB_ENCODING))
if self._engine == None:
# 데이터베이스 연결을 위한 엔진 객체 얻기 실패
self._logger.error(f'database engine fail!')
return None, None, -1
참고자료
- "Error 1273 but my schema don't contain utf8mb4_0900_ai_ci":https://stackoverflow.com/questions/62829879/
'프로그래밍 > Python' 카테고리의 다른 글
[python] ModuleNotFoundError: No module named 'packaging' (0) | 2023.10.31 |
---|---|
[python] Could not find a version that satisfies the requirement torch==1.11.0+cu113 (0) | 2023.10.01 |
[Python] 발생한 Exception의 클래스를 확인하는 방법은? (0) | 2023.09.19 |
[python-VISA] 잡음지수 분석기의 측정값 읽어오기 (0) | 2023.09.05 |
[python] 각종 옵션/설정 정보를 JSON으로 다루기 (0) | 2023.09.04 |