settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 사용할 DB 종류
'NAME': 'stock', # DB 이름
'USER': 'stock', # DB 계정 이름
'PASSWORD': 'stock', # DB 계정 패스워드
'HOST': 'localhost', # IP
'PORT': '3306' # PORT
}
}
Django로 mysql을 접속하기 위해 사전에 mysql서버를 설치하고 위와같이 설정하여
python manage.py makemigrations stocksimul
명령어를 통해 mysql 접속시도 및 DB 초기화 마이그레이션 파일생성 시도를 하였으나
RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'defau
lt': (2026, 'SSL connection error: unknown error number')
와 같은 에러가 떨어졌다.
Windows의 경우 my.ini 파일
또는
Linux의 경우 my.cnf 파일에
[mysqld]
skip_ssl #ssl
과 같이 지정하여 ssl옵션을 DISABLED로 만들고 서비스를 재기동하면 된다고 하는데, my.ini파일 자체가 보이지 않았다.
%WINDIR%, C:, BASE_DIR에는 없고, %PROGRAMDATA% 폴더를 찾아보라는 해결법이 있어 들어가보았더니, 있다...!

skip_ssl 옵션을 추가, MYSQL80 서비스를 재시작하고 나서
show variables like '%ssl%'; 쿼리로 have_ssl,have_openssl 옵션을 확인하니,
YES -> DISABLED로 바뀌어있는 것을 확인.

이후 migration 기능을 수행하니 정상적으로 접속되는 것을 확인하였다.
python manage.py makemigrations stocksimul
python manage.py migrate stocksimul
오류 발생원인을 찾지못해,
my.ini파일이 설치오류로 생기지 않은 줄 알고, MYSQL8.0 서버를 두번이나 재설치를 하면서 삽질하는 바람에, 이전에 만들어 두었던DATABASE가 사라져서,DATABASE도 같이 생성해주었다. (USER는 설치 시에 같이 만들어 둠)
CREATE DATABASE stock CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON stock.* TO stock@localhost;
FLUSH PRIVILEGES;
참고
[Django] Execute python manage.py makemigrations error solution
[Solved] Windows MYSQL Error: django.db.utils.OperationalError: (2026, ‘SSL connection error: unknown error number‘)
MySQL my.ini location
MySQL-4.2.2.2 Using Option Files
Django에 MySQL 연동하기
이 부분에서 한참 헤메다가 키보드 던질뻔 했는데 덕분에 해결했어요!
2026번 에러 해결하고 나니 또 2059번 에러가 생기긴 했는데 이건 금방 해결했네요 ㅋㅋ
글 감사합니다