diff --git a/HowtoMongoDB.md b/HowtoMongoDB.md index ae11b213..fe5fe310 100644 --- a/HowtoMongoDB.md +++ b/HowtoMongoDB.md @@ -2,49 +2,68 @@ title: Howto MongoDB --- -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +**CETTE DOCUMENTATION EST EN COURS DE RÉVISION....** -* Documentation (2.4) : -* Référence de configuration (2.4) : -* Documentation (3.4) : -* Référence de configuration (3.4) : +* Documentation (4.2) : +* Référence de configuration (4.2) : + +MongoDB est un système de base de données de type NoSQL, orienté dans la gestion de documents. ## Installation -### Paquet Debian stable +### Debian Buster -C'est la verison 2.4 qui est disponible dans les paquets stables de Debian : +A partir de Debian 10 (Buster), MongoDB n'est plus distribué dans les dépôts de Debian. +Il est néanmoins possible d'installé MongoDB 4.2 à partir des dépôts officiels du logiciel + +> **Note**: MongoDB ne supporte Debian Buster que depuis sa version 4.2.1, pour utiliser une ancienne version de MongoDB, il est préférable d'utiliser une ancienne version de Debian comme Debian Stretch pour les versions 3.6 et 4.0 ~~~ -# aptitude install mongodb -~~~ - -### Paquet de 10Gen - -L'éditeur de MongoDB fourni des paquets pour Debian, depuis leur dépôt. La version 3.4 est disponible. - -~~~ -# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 -# echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.4 main" >> /etc/apt/sources.list.d/mongodb.list -~~~ - -Puis : - -~~~ -# apt install mongodb-org +# echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" >> /etc/apt/sources.list.d/mongodb-org-4.2.list +# wget https://www.mongodb.org/static/pgp/server-4.2.asc -O /etc/apt/trusted.gpg.d/mongo-org-4.2.asc +# apt update && apt install mongodb-org ~~~ Tous les détails sont disponibles sur . -## Logrotate +### Debian Stretch -### 3.4 +Dans Debian Stretch, MongoDB 3.2 est distribué dans les dépôts Debian. +Il est aussi possible d'installer MongoDB 3.6+ à partir des des dépôts officiels du logiciel -Les paquets fournis par 10Gen n'ont pas de logrotate ! -On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongodb` +> **Important**: Bien que les noms de paquets soient différents, les deux versions ne peuvent pas cohabiter ensemble sur un même système ! + + +#### Version Debian (3.2) ~~~ -/var/log/mongod.log { +# apt install mongodb +~~~ + +#### Version mongodb.org (3.6, 4.0 ou 4.2) + +Les dépôts mongodb.org proposent les versions 3.6, 4.0 et 4.2 pour Debian Strech. + +Exemple ici pour MongoDB 3.6 + +~~~ +# echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" >> /etc/apt/sources.list.d/mongodb-org-3.6.list +# wget https://www.mongodb.org/static/pgp/server-3.6.asc -O /etc/apt/trusted.gpg.d/mongo-org-3.6.asc +# apt update && apt install mongodb-org +~~~ + +Tous les détails sont disponibles sur . + + +## Logrotate + +### Paquets mongodb.org 3.6+ + +Les paquets fournis par mongodb.org n'ont pas de logrotate ! +On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongod` + +~~~ +/var/log/mongodb/mongod.log { daily missingok rotate 365 @@ -54,49 +73,28 @@ On peut simplement ajouter cette configuration dans `/etc/logrotate.d/mongodb` notifempty sharedscripts postrotate - kill -0 $(cat /var/lib/mongodb/mongod.lock) && kill -USR1 $(cat /var/lib/mongodb/mongod.lock) + kill -USR1 $(cat /var/lib/mongodb/mongod.lock) endscript } ~~~ -Il faut aussi penser à modifier la configuration (`/etc/mongod.conf`) pour forcer le mode _reopen_ : +Il faut aussi penser à modifier la configuration (`/etc/mongod.conf`) pour forcer le mode _reopen_ de la directive `logRotate` : ~~~ systemLog: destination: file logRotate: reopen logAppend: true - path: /var/log/mongod.log + path: /var/log/mongodb/mongod.log ~~~ Il y a tout un chapitre (pas toujours très clair) sur la maière de gérer la rotation de logs : . - -> **Note** : Attention, mongodb-org-server 2.4 génère des logs *mongodb.log** mais en 3.2 des logs *mongod.log** - > **Note** : Attention, par défaut mongodb log les requêtes lentes de plus de 100ms. Ça peut générer beaucoup de logs… On pourra les modifier avec [slowOpThresholdMs](https://docs.mongodb.com/manual/reference/configuration-options/#operationProfiling.slowOpThresholdMs). ## Configuration -### 2.4 - -La configuration de MongoDB se trouve dans le fichier `/etc/mongodb.conf` : - -~~~ -bind_ip = 127.0.0.1 -port = 27017 -auth = true - -#cpu = true -#verbose = true -#slowms = 42 -~~~ - -ATTENTION : la configuration de MongoDB est *très* spéciale… si vous voulez désactiver les logs verbose -par exemple, il ne faut pas faire _verbose # false_ car _verbose NIMPORTEQUOI_ active les logs verbeux !! -Il faut donc se méfier et suivre la documentation à la lettre… - ### 3.4 La configuration de MongoDB se trouve dans le fichier `/etc/mongod.conf` et le format a changé.