RuntimeError: Failed raising error. MySQL connector python 문제 해결

김기현·2025년 3월 20일
0
post-thumbnail

어딘가 묵혀놨다가 까먹고 살다가 찾게 돼서 쓰는 늦은 글...
겨울방학 때 간단한 프로그램을 만들면서 만났던 에러다.
파이썬 프로그램을 exe로 변환하고 실행하는 과정에서 문제를 만났다. exe로 변환한 프로그램은 내 컴퓨터에서 쓰지 않고 다른 pc에서 쓸 예정이었다. 프로그램을 사용할 pc에서 테스트를 진행해보니 이런 에러를 만났다.

An error occurred: Failed raising error.
Traceback (most recent call last):
  File "파일이름.py", line 76, in log_data
  File "mysql\connector\pooling.py", line 322, in connect
  File "mysql\connector\connection_cext.py", line 151, in __init__
  File "mysql\connector\abstracts.py", line 1426, in connect
  File "mysql\connector\connection_cext.py", line 335, in _open_connection
RuntimeError: Failed raising error.

구글링을 해도 나오는 내용이 별로 없고, gpt한테 물어봐도 에러는 해결되지 않았다.

하나씩 차근차근 시도해보자.

문제 해결 과정

1. MySQL 서버 동작 확인

아주 잘 작동하고 있었다.

2. MySQL 연결 설정 확인

호스트 주소와 포트 번호, 사용자 이름과 비밀번호, 데이터베이스 이름이 맞는지 다시 확인해줬다. 이상 없음.

3. MySQL 버전과 파이썬 버전 호환 확인

파이썬 버전은 3.9.7이었고, MySQL 버전은 8.0.39 버전이었다. 혹시나 하고 파이썬을 당시의 최근 stable relase 버전인 3.12.8로 업그레이드한 뒤 다시 시도했지만 실패. 공식 문서에서 mysql connector의 호환 버전들을 확인해봤는데 문제가 없었다.

4. 빌드 과정에서 mysql-connector-python 라이브러리 미포함 문제

pyinstaller가 라이브러리를 포함하지 못했을 수도 있다고 해서

pyinstaller --onefile --hidden-import=mysql.connector 파일이름.py

위처럼 명시적으로 포함하여 다시 빌드해봤지만 그래도 실패

5. 운영체제의 차이?

개발을 진행한 노트북은 윈도우11이었고 프로그램을 사용할 환경은 윈도우10이었다. 혹시나 그래서 문제가 생기나 생각하고 윈도우10에서 직접 빌드해서 실행해도 같은 에러가 발생했다.

6. 압축 과정에서의 문제

개발을 진행한 노트북에서 exe 파일을 빌드해서 압축 후 사용할 pc로 전송하여 사용했는데, 내 노트북에서는 되고 실행할 pc에서는 안 돼서 압축 과정에서 문제가 생겼을 수도 있겠다 싶었다. 그래서 사용할 pc에서 빌드했는데도 같은 에러 발생...
사용할 pc에서 직접 빌드해서 실행하면 당연히 괜찮겠지라고 생각을 했었는데 같은 에러가 발생해서 이때는 좀 멘탈이 흔들렸던 것 같다.

문제 해결

도대체 뭐가 문제여서 안 되는 건데???라고 계속 생각해보고 있던 찰나에 머리 속에 혹시 윈도우10이라 최신 라이브러리를 반영하지 못하나?라는 생각이 스쳐 지나갔다.
윈도우10 환경에서 mysql connector python 버전을 다운그레이드하니깐 해결이 됐다. 근데 원인이 이거였다면 vscode에서 코드를 실행했을 땐 왜 됐던 걸까?? extension 덕분인가 하는 생각이 있다.
MySQL connector python 9.1.0으로 했을 땐 vscode에서 실행했을 땐 잘 됐는데 exe 파일로 변환했을 땐 왜 안 됐을까?

MySQL connector python 버전을 8.4.0으로 다운그레이드하니깐 해결이 되었다!!

최신 버전이라고 무조건 좋은 게 아니고 상황과 환경에 따라 알맞은 버전을 쓰는 것의 중요성을 깨닫게 되었다.

0개의 댓글