Salta el contingut

DAM - DAW - MP 0484 Bases de Dades

Instal·lació de MongoDB en Windows

Instal·larem el servidor de MongoDB en local al nostre propi ordinador. No el posarem com un servei sinó que l’iniciarem manualment sempre que vulguem treballar amb ell.

installMongoDB01.png MongoDB ofereix una versió Enterprise i una versió Community de la seva potent base de dades de documents distribuïts. Nosaltres instal·larem i treballarem amb la versió Community. Per això caldrà anar a https://www.mongodb.com/try/download/community i descarregar-ne la darrera versió. En el moment de fer aquest document la 5.0.8.

Descarreguem la versió que se’ns proposa. installMongoDB02.png

installMongoDB03.png installMongoDB04.png installMongoDB05.png Tot per defecte
installMongoDB06.png COMPTE: NO marquem la instal·lació com un servei. installMongoDB07.png Compass és una eina visual que ens permetrà accedir a la base de dades. installMongoDB08.png Instal·lem...
installMongoDB09.png installMongoDB10.png installMongoDB11.png
installMongoDB12.png Una vegada hem acabat la instal·lació, se’ns ha obert el MongoDB Compass. Com que no hem iniciat el servidor de base de dades no es podrà connectar enlloc. installMongoDB13.png

Inici del servidor en Windows

Cal iniciar el servidor de la base de dades manualment.

Per això primer crearem un directori on hi tindrem la Base de dades:

mkdir C:\data\db

i després iniciarem el servei del servidor amb la comanda

"C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath="C:\data\db" --bind_ip_all

Cal que canvieu els directoris segons la vostra instal·lació i preferències de directoris.

Per aturar el servidor, caldrà entrar en aquesta consola i prémer Control + C

No podeu tancar la consola oberta pel servidor mentre vulgueu treballar contra el servidor

Ara tenim un servidor de MongoDB executant i escoltant pel port per defecte 27017.

Per a connectar-nos des d'una altra shell podem executar la comanda

"C:\Program Files\MongoDB\Server\5.0\bin\mongo.exe"

Tant el servidor com el client, a l’iniciar-se ens donaran uns warnings que podem obviar.

Des de l’eina MongoDBCompass podem connectar-nos utilitzant la connexió (indicant o no el port)

mongodb://localhost

mongoDBCompass01.png

i al connectar-nos hem de veure quelcom semblant a

mongoDBCompass02.png

Preparem uns fitxers .batper iniciar el client i el servidor

el servidor

Per a poder iniciar més ràpidament el client i el servidor des de la shell, crearem dos fitxers .bat, que podem emmagatzemar al mateix directori on se’ns inicia el cmd, i així, ens estalviem de moure’ns pels directoris.

Un serà el fitxer de servidor mongod.bat i l’altre el fitxer de client mongo.bat.

mongod.bat (Servidor) v.01

Cal que canvieu els directoris segons la vostra instal·lació i preferències de directoris.

o una alternativa

mongod.bat (Servidor) v.02

En aquest segon cas caldria tenir ben configurat el fitxer mongod.cfg del servidor

Un exemple del fitxer mongod.cfg podria ser
mongod.cfg (Servidor)

Cal que canvieu els directoris segons la vostra instal·lació i preferències de directoris.

el client

Crearem el fitxer mongo.bat per tal que ens obri la shell del MongoDB.

mongo.bat (Client)

Cal que canvieu els directoris segons la vostra instal·lació i preferències de directoris.

Instal·lació de MongoDB en Docker

Podem tenir un Servidor MongoDB en Docker de forma fàcil. Podem escollir entre tenir la base de dades en un volum o no. Per fer-ho més senzill, ens basarem en la simplicitat, i ho farem de la forma més senzilla.

Amb el Docker Desktop iniciat, obrirem una sessio de CMD i executarem la comanda:

docker run --name mongo -p 27017:27017 -d mongo

D'aquesta manera acabem d'iniciar un servidor MongoDB i li hem posat de nom mongo.

C:>docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                      NAMES
85844f5906a4   mongo     "docker-entrypoint.s…"   44 seconds ago   Up 43 seconds   0.0.0.0:27017->27017/tcp   mongo

Compodem veure, tenim el port 27017 obert, que és el servidor de MongoDB.

Per iniciar-lo un altre dia, caldrà, amb el Docker Desktop iniciat, executar la comanda

docker start mongo