일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이클립스 글씨체
- openapi
- pycharm
- 오창맛집
- mongodb
- 스파르타코딩클럽
- 오창
- 파이참
- eclipse
- git hub
- 오창 식당
- 맥북
- 내돈내산
- 오창식당
- 코딩
- db데이터찾기
- github
- 이클립스 폰트
- ajax
- json
- 중국노래
- 아이폰
- API
- 안드로이드개발자모드
- 개발
- 이클립스
- 오창 돈까스
- 이클립스 테마
- 개발자옵션
- 맥북단축키
Archives
- Today
- Total
나의 기록_나의 다이어리
[PyCharm][mongoDB]파이참으로 몽고DB에 데이터 insert 시, 에러코드 해결하기 (certifi 패키지) 본문
코딩/국비지원 개발인강 (스파르타코딩클럽)
[PyCharm][mongoDB]파이참으로 몽고DB에 데이터 insert 시, 에러코드 해결하기 (certifi 패키지)
NayDiary 2022. 11. 8. 11:02반응형
SMALL
1. mongoDB에 데이터 insert를 하려고 했더니 오류가 발생했다.
1) 전체 오류 코드
/Users/dyudyu/Desktop/sparta/pythonprac/venv/bin/python /Users/dyudyu/Desktop/sparta/pythonprac/dbprac.py
Traceback (most recent call last):
File "/Users/dyudyu/Desktop/sparta/pythonprac/dbprac.py", line 10, in <module>
db.users.insert_one(doc)
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/collection.py", line 621, in insert_one
self._insert_one(
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/collection.py", line 562, in _insert_one
self.__database.client._retryable_write(acknowledged, _insert_command, session)
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1475, in _retryable_write
with self._tmp_session(session) as s:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 113, in __enter__
return next(self.gen)
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1757, in _tmp_session
s = self._ensure_session(session)
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1740, in _ensure_session
return self.__start_session(True, causal_consistency=False)
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1685, in __start_session
self._topology._check_implicit_session_support()
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/topology.py", line 538, in _check_implicit_session_support
self._check_session_support()
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/topology.py", line 554, in _check_session_support
self._select_servers_loop(
File "/Users/dyudyu/Desktop/sparta/pythonprac/venv/lib/python3.8/site-packages/pymongo/topology.py", line 238, in _select_servers_loop
raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108), Timeout: 30s, Topology Description: <TopologyDescription id: 6369aae3dde52dc9d79e9cb3, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>]>
2) 핵심 오류 코드
- error라는 글씨가 있는 부분을 중심으로 구글링하면 어떤 오류인지와 어떻게 해결 가능한지 찾을 수 있다.
- raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108),ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108), Timeout: 30s, Topology Description: <TopologyDescription id: 6369aae3dde52dc9d79e9cb3, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-01.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>, <ServerDescription ('ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('ac-xz6sra0-shard-00-02.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')>]>
pymongo.errors.ServerSelectionTimeoutError: ac-xz6sra0-shard-00-00.mx1d7rq.mongodb.net:27017: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
3) 사용하고 있는 인터넷 환경에 따라 보안 관련 추가 설정을 해주어야 한다고 한다. certifi 패키지를 설치해야 한다.
2. 해결 방법
1) 가장 먼저 certifi 패키지를 설치한다.
2) 아래 코드를 입력하고 실행시킨다.
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('본인 mongoDB url', tlsCAFile = ca)
db = client.dbsparta
doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)
3) 성공
잠시 기다렸다가, 아래 코드가 뜨면 성공한거다.
종료 코드 0(으)로 완료된 프로세스
3. mongoDB에서 데이터 확인하기
이제 DB에 insert가 잘됐는지 확인해봐야겠죠?
1) mongoDB에서 'Browse Collections' 클릭
2) users 콜렉션(Collections)에 데이터가 잘 들어갔음!
반응형
LIST
'코딩 > 국비지원 개발인강 (스파르타코딩클럽)' 카테고리의 다른 글
Comments