214 votes

Répertoire du magasin de données MongoDB changeant

Jusqu'à présent je n’ont pas été en spécifiant un répertoire de données MongoDB et ont eu qu’une seule partition primaire de 30 Go.

J’ai juste a manqué d’espace et ajouté un nouveau disque dur. Comment puis-je transférer mes données (c’est apparemment en `` ) et configurer MongoDB afin que tout se déroule au large de la nouvelle disquette sans affecter mon installation existante ?

248voto

Brendan W. McAdams Points 4849

La réponse courte est que l' --dbpath paramètre dans MongoDB vous permettra de contrôler ce répertoire MongoDB lit et écrit des données.

mongod --dbpath /usr/local/mongodb-données

Serait de commencer à mongodb et mettre les fichiers dans /usr/local/mongodb-data.

En fonction de votre distribution et installation de MongoDB, vous pouvez également configurer l' mongod.conf le fichier pour faire cela automatiquement:

# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb

L'officiel 10gen les paquets Linux (Ubuntu/Debian ou CentOS/Fedora) navire avec une configuration de base de fichier qui est placé dans /etc/mongodb.conf, et la MongoDB service le lit lorsqu'il démarre. Vous pourriez faire votre changement ici.

120voto

DmitrySandalov Points 480

Résolu en 2 minutes de temps mort :)
Il suffit de déplacer votre dossier, d’ajouter un lien symbolique, puis d’accorder les autorisations.

 sudo service mongod stop
sudo mv mongodb /new/disk/mongodb/
sudo ln -s /new/disk/mongodb/ /var/lib/mongodb
sudo chown mongodb:mongodb /new/disk/mongodb/
sudo service mongod start

# test if mongodb user can access new location:
sudo -u mongodb -s cd /new/disk/mongodb/
# resolve other permissions issues if necessary
sudo usermod -a -G <newdisk_grp> mongodb
 

29voto

ivanbtrujillo Points 21

Créez un fichier appelé mongod.cfg dans MongoDB dossier si vous n'avez pas. Dans mon cas: C:\Users\ivanbtrujillo\MongoDB

Ensuite, modifier mongod.cfg avec le bloc-notes et ajoutez une ligne à la suivante (notre coutume dbpath):

dbpath=C:\Users\ivanbtrujillo\MongoDB\data\db

Dans ce fichier, vous devez especify la logpath trop. Mon mongod.fichier cfg est:

logpath=C:\Users\ivanbtrujillo\MongoDB\log\mongo.log
dbpath=C:\Users\ivanbtrujillo\MongoDB\data\db

Si vous avez utilise mongoDB en tant que service windows, vous devez modifier cette clé et especify la mongod.fichier cfg.

Pour installer mongodb en tant que service windows exécutez cette commande:

**"C:\Users\ivanbtrujillo\MongoDB\bin\mongod.exe" --config "C:\Users\ivanbtrujillo\MongoDB\mongod.cfg" –install**

Ouvert regedit.exe et aller à la route suivante:

HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\services\MongoDB

MongoDB service ne fonctionne pas, nous devons modifier le ImagePath clé, de supprimer son contenu et de mettre les éléments suivants:

**"C:\Users\ivanbtrujillo\MongoDB\bin\mongod.exe" --config "C:\Users\ivanbtrujillo\MongoDB\mongod.cfg" 
--logpath="C:\Users\ivanbtrujillo\MongoDB\log\mongo.log" –service**

Nous indique à mongo c'est le fichier de configuration et ses logpath.

Puis, quand vous init mongodb service, il fonctionne.

Voici un tutoriel complet pour installer mongoDB dans windows: http://ivanbtrujillo.herokuapp.com/2014/07/24/installing-mongodb-as-a-service-windows/

Espérons que cela aide,

24voto

lobster1234 Points 4572

Copiez le contenu de /var/lib/mongodb à /data/db . Les fichiers que vous devriez rechercher devraient avoir des noms tels que your_db_name.ns et your_dbname.nn est un nombre commençant par 0. Si vous ne voyez pas de tels fichiers sous /var/lib/mongodb , recherchez-les sur votre système de fichiers.

Une fois copié, utilisez --dbpath=/data/db lorsque vous démarrez MongoDB via la commande mongod .

10voto

Rob Points 994

Si installé via apt-get dans Ubuntu 12.04, n'oubliez pas de chown -R mongodb:nogroup /path/to/new/directory . Modifiez également la configuration à /etc/mongodb.conf .

Pour rappel, le package mongodb-10gen est maintenant démarré via upstart, le script de configuration est donc dans /etc/init/mongodb.conf

Je viens de traverser ça, j'espère que les googleurs le trouveront utile :)

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