Commit 50f400da authored by THION ROMUALD's avatar THION ROMUALD
Browse files

màj doc mongo

parent 47e3b409
......@@ -15,6 +15,10 @@ Documentation des serveurs pédagogiques de bases de données `bd-pedago`
- [Modifier le `search_path`](#modifier-le-search_path)
- [Accéder à d'autres bases de données depuis la sienne](#accéder-à-dautres-bases-de-données-depuis-la-sienne)
- [Documentation du serveur MongoDB](#documentation-du-serveur-mongodb)
- [Connection au serveur](#connection-au-serveur-1)
- [Avec le tunnel SSH](#avec-le-tunnel-ssh)
- [Connection directe depuis Eduroam ou le VPN](#connection-directe-depuis-eduroam-ou-le-vpn)
- [Installation locale](#installation-locale)
- [Annexes](#annexes)
- [PostgreSQL : exemple complet avec `search_path`](#postgresql--exemple-complet-avec-search_path)
- [PostgreSQL : exemple complet FDW](#postgresql--exemple-complet-fdw)
......@@ -161,20 +165,53 @@ Documentation
Documentation du serveur MongoDB
--------------------------------
**Attention, ce port là n'est pas ouvert sur internet. Il faut donc passer par le VPN ou un tunnel SSH**, voir les exemples avec la config pour Postgres. Pour se connecter :
Les bases de données accessibles sur le serveur sont les suivantes :
- `grades` : une base de notes académiques
- `zips` : les données du recensement des États-Unis par codes postaux
- `restaurants` : des restaurants à Manhattan
- `neighborhoods` : les quartiers de Manhattan et leur définition géométrique
### Connection au serveur
**Attention, le port 27017 de MongoDB n'est pas ouvert sur internet**.
Il faut donc **obligatoirement** utiliser Eduroam, le VPN, ou un tunnel SSH.
#### Avec le tunnel SSH
La commande pour créer le tunnel est la suivante
```bash
mongo -u "login" -p "password" --authenticationDatabase "baseAuthentification" "mongodb://bd-pedago.univ-lyon1.fr:27017/base"
# avec loginUCBL votre identifiant p1234567
# -f met ssh en tâche de fond
# -N n'exécute pas de commande une fois connecté
# -L bind_address:port:host:hostport redirige ici bd-pedago.univ-lyon1.fr:27017 sur localhost:27017
ssh -f -N -L localhost:27017:bd-pedago.univ-lyon1.fr:27017 loginUCBL@linuxetu.univ-lyon1.fr
```
Les informations `login`, `password` et `baseAuthentification` sont données en TP.
Les bases de données accessibles sont :
Vous pouvez maintenant vous connecter sur la base `base` avec l'utilisateur `login` et son mot de passe `password` définis dans la base `auth-db` (la base d'authentification n'est pas nécessairement celle ou on se connecte), la commande est la suivante :
- `grades` : une base de notes académiques
- `zips` : les données du recensement des États-Unis par codes postaux
- `restaurants` : des restaurants à Manhattan
```bash
# notez le localhost à cause du tunnel SSH
mongo -u "login" -p "password" --authenticationDatabase "auth-db" "mongodb://localhost:27017/base"
```
Les informations `base`, `login`, `password` et `auth-db` sont données en TP.
#### Connection directe depuis Eduroam ou le VPN
Si vous n'avez pas besoin de SSH, la commande est la suivante
```bash
mongo -u "login" -p "password" --authenticationDatabase "auth-db" "mongodb://bd-pedago.univ-lyon1.fr:27017/base"
```
### Installation locale
Pour télécharger les datasets en local :
Si vous souhaitez reproduire l'environnement fourni, vous pouvez suivre les guides d'installation officiels <https://docs.mongodb.com/manual/installation/> et installer MongoDB sur votre propre machine.
Il n'y a quasiement aucun `tuning` ou spécificité sur l'instance que nous exploitons, vous pourrez donc facilement reproduire les TPs sur votre propre serveur.
Vous aurez simplement besoin des jeux de données, voici comment les télécharger :
```bash
wget https://raw.githubusercontent.com/ozlerhakan/mongodb-json-files/master/datasets/grades.json
......@@ -183,7 +220,7 @@ wget https://raw.githubusercontent.com/mongodb/docs-assets/geospatial/restaurant
wget https://raw.githubusercontent.com/mongodb/docs-assets/geospatial/neighborhoods.json
```
Et ensuite les importer (ici dans une base locale sans authentification) :
Ensuite, il suffit de les importer dans votre serveur, ici dans une base `mif04` sans authentification (ce qui est le cas d'une installation par défaut : pas de mot de passe mais accès local uniquement) :
```bash
mongoimport --host localhost --db mif04 --collection grades --drop --file grades.json
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment