Un tutoriel complet sur l'installation et le déploiement de MongoDB sur le système Linux (explication détaillée avec images et textes)

Avant-propos : Dans ce numéro, je partagerai avec vous le tutoriel complet d'installation et de déploiement de MongoDB sur le dernier système Linux. Mon serveur utilise Centos7. J'ai réinstallé mon serveur avant le déploiement. Le but est de vous montrer comment étape par étape fonctionnement pas à pas, le déploiement global est assez simple, voici une note à partager !

Autres didacticiels de déploiement de Blogger :

1. Jenkins déploie des projets de séparation front-end et back-end : le didacticiel graphique le plus complet pour les projets de séparation front-end et back-end de déploiement Jenkins (enseignement pratique)

2. Docker déploie des projets de séparation front-end et back-end : déployez des projets de séparation front-end et back-end via Docker (test de protestation disponible)

3. Déploiement du système Linux Tomcat : tutoriel détaillé sur le déploiement du système Linux Tomcat (explication graphique)

4. Déployer Nginx dans le système Linux : tutoriel détaillé sur le déploiement de Nginx dans le système Linux (explication graphique)

5. Configuration du système Linux Maven : Tutoriel détaillé de configuration du système Linux sur l'environnement Maven (explication graphique)

6. Configuration du système Linux Node.js : Tutoriel détaillé de configuration du système Linux sur l'environnement Node.js (explication graphique)

7. Installation du système Linux et déploiement de MySQL : Un tutoriel complet sur l'installation du système Linux et le déploiement de MySQL (explication détaillée avec images et textes)

8. Installation du système Linux et déploiement de Redis : Un tutoriel complet sur l'installation du système Linux et le déploiement de Redis (explication détaillée avec images et textes)

9. Installation du système Linux et déploiement de Jenkins : tutoriel détaillé sur l'installation du système Linux et le déploiement de Jenkins (explication graphique)

10. Projet de séparation frontale de déploiement de panneaux de pagode : enseignement pratique utilisant le projet de séparation frontale de déploiement de panneaux de pagode (tous les détails)

Table des matières

1. Piétinement record

2. Préparez le package d'installation de MongoDB

3. Installez MongoDB

4. Configurer MongoDB

5. Démarrez MongoDB

Sixièmement, configurez l'utilisateur administrateur

Sept, configurer les variables d'environnement

Huit, configurez la chaîne logicielle

Neuf, configurez le démarrage pour qu'il démarre automatiquement 

10. Résumé


1. Piétinement record

Erreur complète de démarrage de MongoDB :

2023-08-02T19:30:47.752+0800 I CONTROL [main] Désactivation automatique de TLS 1.0, pour forcer l'activation de TLS 1.0, spécifiez --sslDisabledProtocols 'none' 2023-08-02T19:30:
47.758+0800 W ASIO [principal] Aucun TransportLayer configuré lors du démarrage de NetworkInterface
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] Démarrage de MongoDB : pid=32625 port=27017 dbpath=/usr/local/mongoDB/mongoDBServer/data 64 bits host=ecs- 132947
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] version de base de données v4.2.24 2023-08-02T19
:30:47.758+0800 I CONTROL [initandlisten] version git : 5e4ec1d24431fcdd28b579a024 c5c801b8cde4e2
2023-08-02T19:30 : 47.758+0800 I CONTROL [initandlisten] Version OpenSSL : OpenSSL 1.0.1e-fips 11 février 2013
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] allocateur : tcmalloc
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] modules : aucun
2023-08-02T19:30:47.758+0800 I Environnement de construction CONTROL [initandlisten] :
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] distmod : rhel70 2023-08-02T19:30:47.758
+0800 I CONTROL [initandlisten] distarch : x86_64
2023-08-02T19 :30:47.758+0800 I CONTROL [initandlisten] target_arch : x86_64
759+0800 I STORAGE [initandlisten] ** fichier de configuration ou comme option de ligne de commande. Prise en charge du MMAPV1



2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] ** Le moteur de stockage est obsolète et sera supprimé le 2023-08-02T19:30:
47.759+0800 I STORAGE [initandlisten] ** version 4.2. Voir  les notes de version pour MongoDB 4.0 — Manuel MongoDB
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten]
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] exception dans initAndListen : Location18656 : Impossible de démarrer le serveur avec un moteur de stockage inconnu : mmapv1, se terminant le
2023-08-02T19:30:47.759+0800 I REPL [initandlisten] Arrêt du ReplicationCoordinator pour l'arrêt, waitTime : 10000 ms
2023-08-02T19:30:47.759+0800 I SHARDING [initandlisten ] Arrêt du WaitForMajorityService
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] arrêt : va fermer les sockets d'écoute...
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Arrêt du pool de connexions global
2023- 08-02T19:30:47.759+0800 I STOCKAGE [initandlisten] Arrêt du FlowControlTicketholder
2023-08-02T19:30:47.759+0800 I - [initandlisten] Arrêt des autres acquisitions de tickets FlowControl.
2023-08-02T19:30:47.759+0800 I INDEX [initandlisten] Arrêt d'IndexBuildsCoordinator
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Arrêt de ReplicaSetMonitor
2023-08-02T19:30:47.7 59+ 0800 I CONTROL [initandlisten] Arrêt de la surveillance libre
2023-08-02T19:30:47.759+0800 I FTDC [initandlisten] Arrêt de la capture de données à temps plein
2023-08-02T19:30:47.759+0800 I STOCKAGE [initandlisten] Arrêt du HealthLog
2023-08-02T19:30 :47.759+0800 I - [initandlisten] Suppression du cache de portée pour l'arrêt
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] quittant maintenant le
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] fermeture vers le bas avec le code : 100

En effet, MongoDB utilisait le moteur de stockage MMAPV1 avant la version 3.2

1. Avant la version 3.0 (2015), MongoDB ne prenait en charge que le moteur de stockage MMAPv1.

2. Dans la version 3.2 (2016), un nouveau moteur de stockage WiredTiger a été introduit, mais MMAPv1 reste le moteur de stockage par défaut.

3. Dans la version 3.4 (2017), WiredTiger était officiellement utilisé comme moteur de stockage par défaut.

4. Dans la version 4.0 (2018), la prise en charge du moteur de stockage MMAPv1 a été complètement supprimée.

Modifiez le fichier mongodb.conf avec le code suivant

storageEngine=wiredTiger

2. Préparez le package d'installation de MongoDB

Voici l'adresse de téléchargement du site officiel : Télécharger MongoDB Community Server | MongoDB

La version que je choisis ici est la 4.2.24, la plateforme choisit CentOS7, le format du package compressé choisit le format tgz, et enfin cliquez sur Télécharger.

3. Installez MongoDB

1. Entrez le répertoire spécifié

cd /usr/local

2. Créez un nouveau dossier pour stocker le package d'installation de MongoDB

mkdir mongoDB

3. Téléchargez le package compressé téléchargé dans ce dossier (Xftp) 

4. Accédez au répertoire nouvellement créé

cd mongoDB

5. Décompressez le package compressé

tar -zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz

6. Renommez le dossier

mv mongodb-linux-x86_64-rhel70-4.2.24 mongoDBServer

Même s'il est installé. 

4. Configurer MongoDB

1. Entrez le dossier renommé

cd mongoDBServer

2. Créez trois dossiers pour stocker respectivement les données, les journaux et la configuration

mkdir data
mkdir log
mkdir etc

3. Entrez le dossier etc.

cd etc

4. Créez le fichier de configuration mongodb.conf

vim mongodb.conf

5. Copiez le code suivant :

Remarque : dbpath et logpath doivent être remplacés par votre propre chemin. Lors de la copie, dbpath peut soudainement changer en th. N'oubliez pas de vérifier s'il y a une erreur de copie !

dbpath=/usr/local/mongoDB/mongoDBServer/data
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log
logappend=true
quiet=true
port=27017
fork=true
auth=false
journal=true
bind_ip=0.0.0.0
storageEngine=wiredTiger

Détails de la commande : 

paramètre expliquer
dbpath=/usr/local/mongoDB/mongoDBServer/data Ceci spécifie le chemin où les fichiers de données de MongoDB sont stockés, et MongoDB stocke les fichiers de données dans le répertoire dbpath.
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log Ceci spécifie le chemin du fichier journal pour MongoDB.
logappend = vrai Si la valeur est true, le journal sera ajouté au fichier journal, la valeur par défaut est true.
calme = vrai Si ce paramètre est vrai, certaines informations de journal inutiles peuvent être filtrées, telles que les informations de chaque connexion.
port = 27017 Il s'agit de spécifier le port que MongoDB écoute, la valeur par défaut est 27017.
fourchette = vrai Si cela est défini sur true, MongoDB s'exécutera en tant que processus démon.
auth=faux Il s'agit de savoir si une authentification est requise. Par défaut, il est accessible sans authentification.
journal = vrai Ceci permet de définir s'il faut activer la fonction de journal. La valeur par défaut est true. L'activation du journal peut améliorer la sécurité des données.
bind_ip=0.0.0.0 Il s'agit de définir l'adresse IP qui peut être surveillée et accessible. 0.0.0.0 signifie que les requêtes IP de toutes les interfaces réseau peuvent être surveillées.
storageEngine=wiredTiger Ceci spécifie le moteur de stockage, la valeur par défaut est wiredTiger.

6. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim

5. Démarrez MongoDB

1. Entrez le répertoire bin de MongoDB

2. Démarrez MongoDB

Remarque : le chemin doit être remplacé par le vôtre !

./mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf

Commencez avec succès !

Sixièmement, configurez l'utilisateur administrateur

1. Entrez MongoDB

./mongo

2. Utilisez les privilèges d'administrateur

use admin

3. Créez un utilisateur

Nom d'utilisateur : htt

Le mot de passe est : 123456

db.createUser( {user: "htt",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

4. Afficher les utilisateurs existants

show users

5. Fermez le service MongoDB

db.shutdownServer()

6. Quittez sans fermer le service ( exécutez cette commande, car ce service sera utilisé ci-dessous )

exit

Sept, configurer les variables d'environnement

1. Modifiez le fichier de profil

vim /etc/profile

2. Appuyez sur i pour entrer en mode édition 

3. Modifiez votre propre chemin d'installation

export PATH=$PATH:/usr/local/mongoDB/mongoDBServer/bin

4. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim 

5. Laissez le fichier de configuration prendre effet

source /etc/profile

6. Vérifiez les informations de base de mongoDB

mongo --version

De cette façon, la configuration est réussie !

Huit, configurez la chaîne logicielle

1. Liez doucement le chemin mongo au chemin /usr/bin pour faciliter l'exécution des commandes mongo n'importe où

ln -s /usr/local/mongoDB/mongoDBServer/bin/mongo /usr/bin/mongo

 2. Entrez MongoDB ( le principe est que le service MongoDB doit être démarré, si db.shutdownServer() est exécuté, il ne pourra pas entrer )

mongo

De cette façon, même si la configuration du soft link réussit, essayons de nous connecter avec les informations utilisateur que nous venons de configurer ! 

3. Utilisez les privilèges d'administrateur

use admin

4. Utilisez le nom d'utilisateur et le mot de passe que vous venez de créer pour vérifier

db.auth('htt','123456')

Renvoyer 1 signifie succès ! 

5. Quitter

exit

Neuf, configurez le démarrage pour qu'il démarre automatiquement 

1. Créez le fichier de service mongodb.service 

vim /lib/systemd/system/mongodb.service

2. Écrivez le contenu suivant

Remarque : ExecStart et ExecStop doivent être remplacés par votre propre chemin d'installation, veillez également à ne pas copier incorrectement, la première fois que vous copiez [Unit] peut devenir t], vérifiez attentivement vous-même !

[Unit]   
Description=mongodb   
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.confPrivateTmp=true  
    
[Install]  
WantedBy=multi-user.target 

Détails de la commande : 

paramètre expliquer
Description Décrivez le nom et la fonction de cette unité de service pour l'administration du système.
Après Définit que le service démarre après le démarrage de la cible réseau (network.target).
Type = fourche Indique que ce service va bifurquer le processus et que systemd doit surveiller son processus principal.
ExécuterDébut La commande exécutée au démarrage du service, voici pour démarrer mongod.
ExecReload La commande pour envoyer un signal lorsque le service est surchargé, envoyez ici le signal HUP pour surcharger la configuration.
ExecStop La commande exécutée lorsque le service est arrêté, voici l'arrêt normal de mongod.
PrivéTmp Attribuez un espace temporaire distinct au service, qui peut être omis.
RecherchéPar Spécifie à quelle cible appartient ce service, dans ce cas une cible multi-utilisateurs.

3. Appuyez sur la touche Echap pour quitter le mode d'édition, entrez : wq pour enregistrer et quitter l'éditeur vim

4. Recharger la configuration

systemctl daemon-reload

5. Entrez le répertoire créé

cd /lib/systemd/system/

6. Accorder des autorisations

chmod 755 mongodb.service

7. Configurez le démarrage pour qu'il démarre automatiquement 

systemctl enable mongodb.service

A ce stade, même si tout va bien, voici les 2 commandes supplémentaires. 

8. Démarrez le service ( ici, notre service a déjà été démarré, et il n'est pas nécessaire de le redémarrer )

systemctl start mongodb.service

9. Fermez le service

systemctl stop mongodb.service

10. Après avoir redémarré le serveur, entrez la commande suivante (le lien symbolique configuré ci-dessus est l'avantage)

mongo

Vous avez terminé! 

10. Résumé

Ce qui précède est mon tutoriel complet sur l'installation et le déploiement de la base de données MongoDB sous Linux. Si vous avez des questions, n'hésitez pas à en discuter dans la zone de commentaires !

Je suppose que tu aimes

Origine blog.csdn.net/HJW_233/article/details/132070667
conseillé
Classement