Docs Menu
Docs Home
/ /

문제 해결

중요

MongoDB 8.2 은 최신 마이너 출시하다 입니다. MongoDB 8.2부터 특정 사용 사례의 온프레미스 배포 (MongoDB Community 및 Enterprise) 에 마이너 릴리스를 사용할 수 있습니다. 자세한 내용은 MongoDB 버전 관리를 참조하세요.

온프레미스 사용이 지원되는 최신 MongoDB 버전을 설치하려면 설치 지침을 참조하세요.

Import the public key used by the package management system MongoDB Community Edition 설치의 단계에서 발생합니다.

gpg: no valid OpenPGP data found.

문서에 설명된 대로 정확히 명령을 복사합니다. 작업은 OK로 응답해야 합니다.

시스템에 MongoDB 공개 GPG 키가 있는지 확인합니다.

sudo apt-key list

예상 출력은 다음과 유사합니다.

/etc/apt/trusted.gpg
--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

MongoDB Community Edition 설치 절차의 일부로 를 실행 후 sudo apt update 발생합니다. MongoDB 공개 GPG 키 누락으로 인해 발생하는 경우가 많습니다.

W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.2 Release: \
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B7C549A058F8B6B
E: The repository 'https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.2 Release' \
is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

MongoDB Community Edition 설치 의 단계를 Import the public key used by the package management system 반복합니다. 명령과 키를 문서화된 대로 정확하게 복사합니다.

키를 확인합니다.

sudo apt-key list

예상 출력:

--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

MongoDB Community Edition 설치 절차의 단계에서 를 실행 후 발생합니다.sudo apt install -y mongodb-org Create a list file for MongoDB /etc/apt/sources.list.d/mongodb-org-8.2.list 파일 누락되거나 잘못 구성되어 발생하는 경우가 많습니다.

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mongodb-org
  1. 파일 내용을 확인합니다.

    cat /etc/apt/sources.list.d/mongodb-org-8.2.list
  2. 내용이 Ubuntu 버전의 설명서와 일치하지 않으면 파일 제거 Create a list file for MongoDB 단계를 반복합니다.

  3. 파일 없는 경우 해당 단계에서 파일을 만듭니다.

  4. 리포지토리를 업데이트하고 설치를 다시 시도합니다.

    sudo apt update
    sudo apt install -y mongodb-org

MongoDB Community Edition sudo apt install -y mongodb-org 설치 절차의 단계에서 발생합니다. 종종 mongodb 이미 설치된 Ubuntu 패키지 충돌로 인해 발생합니다.

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_8.2.0_amd64.deb (--unpack):
trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1

충돌 확인:

sudo apt list --installed | grep mongo
mongodb/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed]
mongodb-clients/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]
mongodb-server/bionic,bionic,now 1:3.6.3-0ubuntu1 all [installed,automatic]
mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]

출력에 다음과 같은 Ubuntu 패키지가 표시되면 해당 패키지를 제거 .

sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

참고

sudo apt purge mongodb 기본값 구성 파일을 제거합니다. 수정된 구성 파일을 보존하려면 삭제하기 전에 다른 디렉토리 (예: /home/your-user-name)에 복사합니다.

혼합 패키지의 경우:

출력에 및 패키지가 모두 표시되면 mongodb-org mongodb mongodb-org 먼저 를 mongodb 제거 다음 패키지를 제거 . 모든 MongoDB 관련 패키지를 지운 후 MongoDB Community Edition 설치를 다시 시도합니다.

를 시작할 때 발생합니다.mongod 구성된 포트를 사용하는 mongod 다른 프로세스 (일반적으로 다른 )로 인해 발생하는 경우가 많습니다.

Socket is already in use
Failed to unlink socket file

프로세스 식별합니다.

다음 예시 ss 를 사용하여 LISTEN (-l) 상태 의 열려 있는 모든 TCP(-t) 및 UDP(-u) 소켓과 각 소켓(-p)을 사용하는 프로세스 확인하지 않고 나열합니다. 서비스 이름 또는 호스트 이름(-n):

sudo ss -tulpn

포트 27017mongod 을(를) 표시하는 출력 예시:

Netid State Local Address:Port
udp UNCONN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=12))
udp UNCONN 10.1.16.87%enp0s3:68 users:(("systemd-network",pid=652,fd=15))
tcp LISTEN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=13))
tcp LISTEN 0.0.0.0:22 users:(("sshd",pid=819,fd=3))
tcp LISTEN 192.168.1.15:27017 users:(("mongod",pid=10027,fd=12))
tcp LISTEN 127.0.0.1:27017 users:(("mongod",pid=10027,fd=11))
tcp LISTEN ::]:22 users:(("sshd",pid=819,fd=4))

둘 중 하나를 수행하면 됩니다.

  • 기존 프로세스 종료

  • 충돌하는 프로세스 에 대한 새 포트를 mongod 선택합니다.
    1. 구성 파일 에서 net.port를 수정합니다.

    2. 명령줄 --port 에서 사용

mongod 프로세스 로그 에서 발생합니다. 종종 존재하지 않거나 에 액세스할 수 없는 데이터 디렉토리 로 인해 mongod 발생합니다.

Data directory ... not found
Attempted to create lock file on a read-only directory: ...

서비스(sudo systemctl start mongod 또는 sudo service mongod start)로 시작할 때 이는 다음 MEAN 할 수 있습니다.

  • dbPath/etc/mongod.conf 사용자 rwx mongodb 또는 그룹 에 대한 권한이 없는 디렉토리 를 가리킵니다.

  • dbPath 존재하지 않는 디렉토리 가리킵니다.

터미널에서 시작할 때 이는 다음 MEAN 할 수 있습니다.

  • 또는 가 사용자 또는 해당 그룹 에 대한 권한이dbPath --dbpath 없는 디렉토리 를 가리킵니다.rwx

  • 디렉토리가 존재하지 않습니다.

원인에 따라 데이터 디렉토리 만들거나 적절한 권한 및 소유권을 설정하다 .

  • 디렉토리 만듭니다.

    구성 storage.dbPath 파일 에서 또는 명령줄 에서 을 --dbpath 사용하여 데이터 디렉토리 지정합니다.

  • 기본값 경로를 설정합니다:

    mongod을(를)시작하기 전에 데이터 디렉토리 존재하는지 확인하거나 을(를) 사용하여 디렉토리 생성하세요.mkdir

  • 디렉토리 권한을 설정합니다:

    적절한 권한 및 소유권을 설정합니다.

    • mongod rwx 에는(읽기, 쓰기 (write), 실행) 권한이 필요합니다.

    • 를 시작하기 전에 및 를 사용하여 소유권 chown 및 권한을 구성합니다.chmod user:group mongod

돌아가기

커뮤니티 에디션

이 페이지의 내용