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번 에러가 생기긴 했는데 이건 금방 해결했네요 ㅋㅋ
글 감사합니다