mongodb macos

mongodb no funciona en el último Mac OS(10.15)



macos (3)

Si recibe un error al intentar mover toda la carpeta de datos. !!

Simplemente mueva la carpeta db, esa es la importante.

Esta pregunta ya tiene una respuesta aquí:

Actualicé a Mac 10.15 hoy. Cuando ejecuto mongod la terminal:

➜ /Users/william > mongod 2019-10-08T17:02:44.183+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols ''none'' 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] MongoDB starting : pid=43162 port=27017 dbpath=/data/db 64-bit host=Williams-MacBook-Pro-6.local 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] db version v4.0.3 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] allocator: system 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] modules: none 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] build environment: 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] distarch: x86_64 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] target_arch: x86_64 2019-10-08T17:02:44.209+0800 I CONTROL [initandlisten] options: {} 2019-10-08T17:02:44.211+0800 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating 2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] shutdown: going to close listening sockets... 2019-10-08T17:02:44.211+0800 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock 2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] now exiting 2019-10-08T17:02:44.211+0800 I CONTROL [initandlisten] shutting down with code:100 ➜ /Users/william >

Intenté instalarlo nuevamente

brew install mongodb ➜ /Users/william > brew install mongodb Updating Homebrew... Error: mongodb: unknown version :mountain_lion

¿Alguna ayuda?


Después de instalar Catalina, es posible que tenga una carpeta en su escritorio llamada Relocated Items . Puede encontrar la carpeta data/db dentro de la carpeta Security .

Todo lo que tenía que hacer era mover el Security/data/db , específicamente data/db y colocarlo dentro de mi carpeta de inicio.

Puede hacer esto con la aplicación Finder o con el terminal ejecutando el siguiente comando:

sudo mv /Users/Shared/Relocated/ Items/Security/data ~/

Después de esa ejecución: mongod --dbpath ~/data/db

Depende de usted crear el alias antes


Este es el error principal:

excepción en initAndListen: NonExistentPath: directorio de datos / data / db no encontrado., terminando

Catalina tiene un cambio sorprendente: no permitirá cambios en el directorio raíz (esto también se discutió en un hilo del foro ):

% sudo mkdir -p /data/db mkdir: /data/db: Read-only file system

Desafortunadamente, esto no se explica explícitamente en las notas de lanzamiento de Catalina de Apple, aparte de una breve mención en las características de Catalina :

macOS Catalina se ejecuta en un volumen de sistema dedicado de solo lectura

Dado que el directorio /data/db está codificado como predeterminado de MongoDB, una solución alternativa es especificar un dbpath diferente que no se encuentre en el directorio raíz. Por ejemplo:

mongod --dbpath ~/data/db

Esto colocará los datos de MongoDB en su directorio de inicio. Solo asegúrese de que la ruta ~/data/db realmente exista.

Método alternativo

Un método alternativo es seguir las instrucciones en Instalar MongoDB Community Edition en macOS aprovechando brew :

brew tap mongodb/brew brew install mongodb-community

Esto creará algunos archivos adicionales por defecto:

  • el archivo de configuración (/usr/local/etc/mongod.conf)
  • la ruta del directorio de registro (/ usr / local / var / log / mongodb)
  • la ruta del directorio de datos (/ usr / local / var / mongodb)

Para ejecutar mongod puedes:

  • Ejecute el comando manualmente desde la línea de comando (esto puede ser alias por conveniencia):

    mongod --config /usr/local/etc/mongod.conf

  • Ejecute MongoDB como un servicio utilizando brew services . Tenga en cuenta que esto ejecutará MongoDB como un nodo independiente (no un conjunto de réplicas), por lo que las características que dependen del oplog, por ejemplo, changestreams no funcionarán a menos que modifique el archivo de configuración mongod :

    brew services start mongodb-community