83 votes

MongoDB ne peut pas trouver le répertoire de données après la mise à niveau vers Mac OS 10.15 (Catalina)

J'ai mis à jour vers MacOS 10.15 (Catalina) aujourd'hui. Lorsque j'exécute mongod dans le terminal, il ne peut pas trouver le répertoire /data/db :

  /Users/william > mongod
2019-10-08T17:02:44.183+0800 I CONTROL  [main] Désactivation automatique de TLS 1.0, pour forcer l'activation de TLS 1.0, spécifiez --sslDisabledProtocols 'none'
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] Démarrage de MongoDB : 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] version de la db v4.0.3
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] version git : 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] allocateur : système
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] modules: aucun
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] environnement de compilation :
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 dans initAndListen: NonExistentPath: Répertoire de données /data/db introuvable, arrêt
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] arrêt: fermeture de l'écoute des sockets...
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] suppression du fichier de socket : /tmp/mongodb-27017.sock
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] sortie maintenant
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] arrêt avec code :100
  /Users/william > 

J'ai essayé d'installer MongoDB avec brew :

brew install mongodb

  /Users/william > brew install mongodb
Mise à jour de Homebrew...
Erreur: mongodb: version inconnue :mountain_lion

Un conseil ?

1voto

Tianyu Cao Points 11

Trouvé un truc... supprimez le dossier entier ~/data/db du répertoire puis recréez-en un nouveau mais N'UTILISEZ PAS mkdir -p /data/db au lieu de cela, utilisez simplement votre trackpad pour le faire utilisez le moyen système pour créer le dossier

cela a fonctionné pour moi

0voto

RobKohr Points 2022

La version Mac Catalina a rendu le dossier racine non accessible en écriture.

Brew propose une version mise à jour de mongodb à utiliser dans un nouveau chemin (qu'il crée lui-même), /usr/local/var/mongodb et en suivant ces instructions vous pourrez régler le problème :

Guide d'installation de la version mise à jour de mongodb-community-edition

brew install mongodb-community@VERSION où la première VERSION à utiliser est 4.2

0voto

Carlos Ferreira Points 734

Votre image docker pourra trouver vos répertoires peu importe où ils se trouvent si vous utilisez des références de répertoire relatives ~/Desktop va mapper votre répertoire Mac Desktop dans votre image en tant que /Desktop.

docker run -it -v ~/Desktop:/Desktop r-base bash

0voto

Ritwik Points 51

Allez dans le dossier ~/Users/Shared. Ici, vous trouverez un dossier intitulé 'Articles déplacés', à l'intérieur duquel vous trouverez un dossier 'data'. Ce dossier 'data' contient votre base de données mongodb dans `/data/db'.

Maintenant, copiez ce dossier 'data' et collez-le dans votre Utilisateurs/.

Et maintenant, ouvrez le terminal zsh et exécutez mongod --dbpath ~/data/db et ouvrez un nouveau shell dans un onglet séparé et tapez mongo pour ouvrir le shell mongo et vous serez prêt à partir.

N'oubliez pas d'utiliser mongod --dbpath ~/data/db à chaque fois que vous exécutez mongod ou créez un alias.

0voto

Abhi Points 1

Pour moi, après la mise à niveau vers Catalina, cela a été déplacé vers un dossier différent de celui mentionné ci-dessus. Au cas où quelqu'un trouverait le même chemin, vous pouvez utiliser la solution ci-dessous.

cp /Users/Shared/Previously\ Relocated\ Items/Security/data ~
mongod --dbpath ~/data/db

De cette façon, vous pouvez voir vos anciennes bases de données et collections lorsque vous accédez à la mongo shell en utilisant

mongo
show dbs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X