3. Database, siti e terminali
3.1 I server di database
MySQL e MongoDB del kit: avviarli, le password, le porte, più versioni insieme, phpMyAdmin, mongo-express e l'esploratore dei dati.
Nell'app: «Database»
In breve
- Il kit ha un server MySQL e uno MongoDB, condivisi da tutti i progetti e raggiungibili solo da questo PC.
- «Avvia» installa il server se manca, lo accende e genera la password di amministratore.
- Ogni progetto ha poi il suo database e il suo utente, che si creano dalla pagina del progetto.
- MySQL si esplora e si modifica con phpMyAdmin, MongoDB con mongo-express, entrambi nel browser.

Stato e indirizzo, connessione, versione, porta, «Avvia con Atollo» e le altre versioni installate.
La pagina Database
Nella barra laterale, il riquadro «Server» elenca MySQL e MongoDB con la porta, lo stato e il pulsante «Avvia» o «Ferma». Un clic su un server ne apre la pagina. In cima alla barra: «Aggiorna», «Apri la cartella dei dati» (data\db) e il libro della guida.
| Stato | Significato |
|---|---|
| Fermo (grigio) | Il server è spento. |
| Avvio in corso… (giallo) | Il server sta partendo; il kit aspetta che risponda (fino a 90 secondi). |
| Avviato (verde) | Il server risponde su 127.0.0.1 alla sua porta. |
| Errore (rosso) | Non è partito: la pagina mostra l'ultimo errore e il file di log. |
| Non installato: si installa al primo avvio | Il componente non c'è ancora; «Avvia» lo scarica prima. |
La pagina di un server
In alto lo stato, l'indirizzo 127.0.0.1:<porta>, la versione e i pulsanti «Avvia» o «Ferma»; per MySQL anche «Apri phpMyAdmin», per MongoDB «Apri mongo-express».
| Parte | Che cosa contiene |
|---|---|
| Connessione | «Stringa»: l'indirizzo per collegarsi come amministratore (senza password). «Password di root» (MySQL) o «Password di admin» (MongoDB): nascosta, con «Mostra» e «Copia». Prima del primo avvio: «Generata al primo avvio.» |
| Impostazioni | «Versione» (se ne hai più di una; si cambia a server fermo), «Porta» (tra 1024 e 65535, vale dal prossimo avvio) e «Avvia con Atollo» (il server parte da solo all'apertura dell'app). |
| Altre versioni | Compare se hai installato più versioni dello stesso server: ognuna gira sulla sua porta con i suoi dati (vedi sotto). |
| File | «Dati»: la cartella dei dati di quella versione. «Log»: il file con l'output del server. |
Esplorare i dati
| Server | Come vedi i dati |
|---|---|
| MySQL | «Apri phpMyAdmin». La prima volta il kit installa phpMyAdmin (e PHP se manca), accende MySQL se è spento e apre phpMyAdmin nel browser, già collegato come root. Per un'altra versione c'è «phpMyAdmin su …» nella parte «Altre versioni». |
| MongoDB | «Apri mongo-express». La prima volta il kit installa mongo-express (e Node.js se manca), accende MongoDB se è spento e apre mongo-express nel browser, già collegato come admin: database, collezioni, documenti, indici, importazione ed esportazione. Per un'altra versione c'è «mongo-express su …». |
Sotto il cofano: phpMyAdmin e mongo-express
phpMyAdmin gira con il server PHP integrato del kit su un indirizzo di loopback casuale (127.x.y.z, non 127.0.0.1) e su una porta scelta dal sistema, con un gettone nuovo a ogni avvio: senza il gettone risponde 403. Se ne apre uno alla volta; si ferma con la versione di MySQL a cui è collegato o con l'app. La sua lingua è quella di Atollo.
mongo-express è una build di Atollo: compilata in CI dal codice di mongo-express a un commit fissato, pubblicata nelle release di Atollo e controllata col suo SHA-256 prima dell'installazione. Gira col Node.js del kit, allo stesso modo di phpMyAdmin: indirizzo di loopback suo, porta che nessun'altra parte di Atollo usa, gettone nuovo a ogni avvio, 403 senza. La password di admin di MongoDB gli arriva solo nel suo ambiente, mai sulla riga di comando o nel browser. L'interfaccia di mongo-express è in inglese.
Più versioni dello stesso server
Puoi installare più versioni di MySQL o di MongoDB (dalla pagina Strumenti). Il server usa quella scelta in «Versione», di solito la più recente. Le altre compaiono nella parte «Altre versioni»: ciascuna ha la sua porta (3307, 3308… per MySQL, assegnate al primo avvio) e la sua cartella dei dati, e si avvia insieme al server principale se un progetto la usa.
- Al primo avvio di una versione più recente il kit copia i dati della precedente, che restano com'erano: puoi tornare indietro.
- Un progetto sceglie la versione del server nella sua sezione «Database»; la porta gli arriva come DB_PORT.
- Ogni versione tiene la sua porta: cambiare la «Versione» del server non sposta nessuna porta, e le connessioni dei progetti restano giuste.
- Una porta che ha già un'altra versione, un pool dei server web o un'azione di un progetto, o una fra 7000 e 7099 (dell'editor), viene rifiutata: il messaggio dice di chi è.
- Due avvii insieme della stessa versione (dalla pagina e da un progetto, per esempio) accendono un solo server, sulla stessa porta.
Sotto il cofano
| Che cosa | Dove |
|---|---|
| Dati di ogni versione | data\db\mysql\8.4 · data\db\mongodb\8.0 |
| Porte, avvio automatico, versione scelta | data\app\services.json |
| Password di root e admin | data\app\db\secrets.json |
| Accesso di mysql nella console | data\app\db\mysql.cnf |
| Log | data\app\logs\mysql.log · mongodb.log |
La cartella data\app\db è leggibile solo dal tuo utente sui dischi NTFS. MySQL usa un file my.cnf scritto dal kit a ogni avvio (solo 127.0.0.1, niente log binario, nomi delle tabelle in minuscolo); MongoDB parte sempre con l'autenticazione. Il comando mysql nella console entra come root solo sulla versione principale.