mongodb(23)
-
우분투 방화벽 설정과 MongoDB bindIp 설정 ( Mongodb 방화벽 설정 )
mongodb의 기본 포트 27017 기준으로 설정을 알려주겠다. 방화벽 설정이 되지 않으면 아래와 같은 에러가 난다. MongoNetworkError: failed to connect to server [서버 IP 주소]:[포트 번호] on first connect [MongoNetworkError: connect ECONNREFUSED [서버 IP 주소]:[포트 번호]] 1. 방화벽 상태 - 실행 여후 확인 sudo ufw status Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) - 27017 포트가 없는 것을 확인 할 수 있다. 2. 우분투 방화벽 설정 sudo ufw..
2023.04.16 -
MongoDB User 추가 하는 방법
0. 서론 - 몽고디비는 당연히 유저 추가가 된다. 안된다고 종종 그러는 이상한 아저씨들 만나면...욱한다 ㅋㅋ - 그래서 오늘은 사용자 추가하는 방법을 알려주겠다. 1. mongodb 사용자(user) "my_name" 을 추가해 보겠다. 1-1. 먼저 당연히 있겠지만.... database 가 없으면.. 추가해 준다. ( 없으면, 사용자(user) 추가가 되지 않는다. ) use my_database 1-2 사용자(user) 추가 한다. db.createUser({ user: "my_name", pwd: "mypassword", roles: [{ role: "readWrite", db: "my_database" }] }) 위 사용자는 아이디는 my_name 이고, 패스워드는 mypassword 이다...
2023.04.05 -
MongoDB 모니터링 명령어 ( currentOp )
0. currentOp 역할- 작업의 상태 모니터링 가능 - 현재실행 중인 작업 조회 가능 - 과도한 리소스를 작업 조회 가능 - 결과적으로 MongoDB의 성능 최적화에 도움 1. allUesrs : 시스템의 모든 사용자의 작업의 정보를 반환db.currentOp({allUsers: true}) 2. idleConnections : idle한 커넥션 정보 반환- idle 이란 : 해당 커넥션과 연결된 클라이언트가 아무런 요청을 하지 않고 대기한 상태 ( 대분의 커넥션은 작업 후, 해당 커넥션을 끊음 -> 하지만, 일부는 끊지 않고 유지 함 - 이 경우, 해당 작업을 종료 시킬지 말지 결정해야 함 db.currentOp({idleConnections: true}) 3. inprog : 기본 옵션으로 설정..
2023.03.29 -
mongodb에서 인덱스 안 걸린 실행 쿼리 찾기( currentOp, explain 사용 )
0. mongodb에서 인덱스의 중요성 몽고디비는 인덱스가 타 데이터베이스 대비 매우 중요하다고 생각한다. 막말로 인덱스가 없거나, 엉뚱한게 적용되어 있으면, 몽고디비는 조회 자체가 되지 않는다. 심지어 부하가 심한 쿼리의 경우, 디비의 전체적인 성능 저하를 만들어 낸다. 또한 대부분 mongodb가 적용된 프로젝트 중, 실패한 프로젝트의 공통점은 mongodb의 인덱스를 잘 적용하지 못해 실패한 경우가 많다. 따라서 몽고디비는 인덱스를 매우 신경써서 관리해야 하며, 지속적으로 mql ( 몽고디비 쿼리 )를 모니터링 해주어야 한다. 그래서 오늘은 운영 중에서 사용할 수 있는 mongodb에서 인덱스가 걸리지 않는 mql를 찾는 방법에 대해 알아보겠다. 1. 사용 방법 인덱스가 안걸린 mql를 찾는 방법은..
2023.03.28 -
MongoDB 재부팅 실패 시 조치 방법 - Found an open, non-mongod.lock file in the data directo
0. 서론 Mongodb는 왠만해서 에러가 나지 않는다. 하지만 나면 좆된다. 나는 종종 몽고디비의 에러를 본적이 있다. 그 중 가장 겁나는건, 재부팅 실패에러이다.. IT기계들은 껐다 켜면 모든 고장이 풀린다는 어르신들의 말씀은 거진 틀린적이 없다. 하지만, 그 기계가 꺼지가 안 켜지면...?? 좆된거다!! Mongodb에서 종종 그런 현상을 발견했다. 오늘은 그 사례와 조치 방안에 대해서 알아보겠다. 100프로 내 이야기다 ㅎㅎ 1. 사연 - reindex 했더닌 좆되었어요 ㅎㅎ 슬픈 사연이였다. mongodb가 용량을 반환하지 않아, 반환방법을 찾던 중 mongodb index를 재 생성하는 명령어를 날렸다. 용량과 인덱스가 무슨 관계냐고 할 수 있겠지만, database에서 index는 꽤 많은 ..
2023.03.19 -
Comment récupérer l'espace disque après la suppression de données dans MongoDB
Récemment, en surveillant MongoDB, j'ai été rappelé de l'importance du DML (langage de manipulation de données) - la capacité à interroger (SELECT), modifier (UPDATE), stocker (INSERT) et supprimer (DELETE) des données. J'ai rencontré un problème surprenant avec MongoDB : après la suppression de données, l'espace disque n'était pas restitué. L'utilisation du disque de notre serveur MongoDB avait..
2023.03.15