Siti web
Connessione al tuo database in remoto
Where to find your database credentials, why direct remote connections on port 3306 are refused, and how to connect a desktop tool through an SSH tunnel instead.
Dove trovare le credenziali del database, perché le connessioni remote dirette sulla porta 3306 sono rifiutate e come connettere uno strumento desktop tramite un tunnel SSH.
Ogni sito di web hosting KapsuleHost con un database ha il suo database, il suo utente di database e credenziali che puoi leggere in qualsiasi momento. Quello che non puoi fare è connetterti direttamente a esso attraverso internet, e questo è intenzionale. Questa guida copre le credenziali, i due modi supportati per accedere e come configurare il tunnel di cui hanno bisogno gli strumenti desktop per il database.
Trovare le tue credenziali
Vai a Siti web, fai clic sul sito, quindi File, quindi Database.
La pagina mostra cinque cose:
| Campo | Valore |
|---|---|
| Host | 127.0.0.1 |
| Porta | 3306 |
| Database | il nome del tuo database |
| Nome utente | il tuo utente di database |
| Password | nascosta, con un pulsante di visualizzazione e un pulsante di copia |
La password non è una visualizzazione una tantum. Puoi tornare a leggerla ogni volta che ne hai bisogno, quindi non è necessario archiviarla separatamente.
Il server di database è MariaDB 10.11, che è compatibile con MySQL. Questo importa in un modo pratico: un dump esportato da un server MySQL recente può contenere collazioni che MariaDB non riconosce e l'importazione fallirà con un errore "unknown collation". Se succede, riesporta utilizzando una collazione ampiamente compatibile come utf8mb4_unicode_ci, o cercala e sostituiscila nel file dump prima dell'importazione.

Perché l'Host è 127.0.0.1
127.0.0.1 significa "questa macchina". Il server di database ascolta solo sull'interfaccia interna della macchina stessa e la porta 3306 non è aperta a internet nemmeno dal firewall. Non c'è nessuna impostazione nel pannello per aprirla e non c'è nemmeno una lista di indirizzi IP consentiti per essa.
Questo non è un errore. Una porta di database rivolta a internet è una delle cose più costantemente sfruttate nell'hosting: viene scansionata costantemente, rivela informazioni sulla versione a chiunque si connetta e una singola password debole compromette l'intero sito. Mantenerla chiusa elimina questa intera categoria di rischio.
Quindi una stringa di connessione che utilizza l'indirizzo IP pubblico del tuo sito e la porta 3306 fallirà sempre, da qualsiasi luogo, su ogni piano. Ci sono due modi supportati per accedere.
Opzione 1: phpMyAdmin nel browser
Più facile per uno sguardo veloce, una modifica o un piccolo import o export.
Sulla pagina Database, fai clic su Apri phpMyAdmin. Accedi direttamente con le credenziali del tuo sito e vedi solo i tuoi database.
Il link che fa questo è deliberatamente di breve durata e fallisce in modi che sembrerebbero errori ma non lo sono:
- Scade in 60 secondi. Fai clic non appena appare.
- Funziona una volta. Tornare indietro e ricaricare non funzionerà; generane uno nuovo.
- Deve essere aperto dallo stesso browser e dalla stessa rete da cui l'hai richiesto. Se copi il link su un altro dispositivo o la tua connessione cambia indirizzo nel mezzo, verrà rifiutato.
Se vedi "Questo link è già stato utilizzato" o un messaggio su una mancata corrispondenza di IP, la protezione sta funzionando. Torna alla pagina Database e fai di nuovo clic sul pulsante.
Per informazioni su come lavorare con phpMyAdmin stesso, vedi Utilizzo di phpMyAdmin.
Opzione 2: Un tunnel SSH per strumenti desktop
Se desideri utilizzare un client desktop, questo è il percorso supportato. Il tunnel apre una connessione crittografata al server e inoltra una porta sulla tua macchina attraverso di esso, in modo che il tuo client si connetta a quello che sembra un database locale.
Cosa ti serve prima
Una chiave SSH sul sito. L'autenticazione con password non è accettata, quindi questo passaggio non è facoltativo.
- Vai a Siti web, il sito, File, quindi Chiavi SSH.
- Incolla la chiave pubblica che usi già oppure genera una nuova coppia di chiavi dal pannello.
- Annota il nome utente mostrato su quella pagina. È l'utente di sistema del tuo sito ed è quello con cui ti connetti.
Se generi una chiave nel pannello, la chiave privata viene mostrata una volta e mai più. Salvala immediatamente e conservala in un posto che solo tu puoi leggere.
Riceverai anche un'email ogni volta che viene aggiunta una chiave al tuo sito. Questo è intenzionale. Se ne arriva una e non sei stato tu, revocala da quella pagina subito e leggi Se il tuo sito è stato hackerato.
Vedi Aggiunta di chiavi SSH per la procedura dettagliata.
Un account SFTP creato nella scheda SFTP non funzionerà per un tunnel. Questi account sono solo per il trasferimento di file, senza shell e senza port forwarding. Il tunneling richiede l'utente SSH del sito stesso con una chiave. Vedi Accesso SFTP.
Apertura del tunnel
Da un terminale sulla tua macchina:
ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com
Sostituisci your-ssh-user con il nome utente dalla pagina Chiavi SSH. Suddividendolo:
-Nsignifica non eseguire un comando, basta tenere il tunnel aperto.-L 3307:127.0.0.1:3306inoltra la porta 3307 sulla tua macchina alla porta 3306 sul server.- La porta 3307 viene utilizzata invece di 3306 in modo che non si scontri con un database che potresti avere in esecuzione localmente.
Il comando non stampa nulla quando funziona. Questo è corretto. Lascia la finestra del terminale aperta per tutto il tempo in cui hai bisogno della connessione e premi Ctrl+C per chiuderla.
Connessione del tuo client
Con il tunnel aperto, punta lo strumento di database su:
| Impostazione | Valore |
|---|---|
| Host | 127.0.0.1 |
| Porta | 3307 |
| Nome utente | il nome utente del database dalla pagina Database |
| Password | la password del database dalla pagina Database |
| Database | il nome del tuo database |
Nota la divisione: il nome utente SSH è l'utente di sistema del tuo sito e il nome utente del database è uno diverso dalla pagina Database. Confondere questi due è di gran lunga l'errore più comune qui.
La maggior parte dei client desktop ha anche un'opzione integrata "connetti su tunnel SSH", che fa esattamente quanto sopra senza un terminale separato. Compila l'host SSH cp1-kapsule.kapsulehost.com, porta 22, il tuo nome utente SSH e il file della tua chiave privata, quindi i campi del database come sopra.
Vedi Tunnel SSH del database per la configurazione client per client.
Riga di comando sul server
Se ti senti a tuo agio in un terminale, non hai affatto bisogno di un tunnel. Connettiti tramite SSH e lavora direttamente sul server:
ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql
Questo è molto più veloce che tirare un database grande attraverso un tunnel ed è il modo giusto per prendere un dump manuale prima di una modifica rischiosa. Per WordPress specificamente, WP-CLI di solito è ancora meglio.
Risoluzione dei problemi
"Connection refused" sulla porta 3306 dalla tua macchina. Previsto. Vedi sopra. Usa un tunnel.
Il comando del tunnel chiede una password. La tua chiave non viene offerta o non è installata. Verifica che la chiave sia sulla pagina Chiavi SSH e aggiungi -i /path/to/your/private/key al comando.
"Permission denied (publickey)". Nome utente errato o chiave sbagliata. Il nome utente è quello sulla pagina Chiavi SSH, non la tua email di accesso a Kapsule.
"Address already in use" per la porta 3307. Un tunnel è già aperto o qualcos'altro sta usando quella porta. Chiudi l'altro oppure scegli una porta locale diversa come 3308.
Il tunnel si apre ma il client non può connettersi. Conferma che il tuo client sia puntato a 127.0.0.1 e alla porta locale che hai scelto, non al tuo dominio.
"Access denied for user". Credenziali del database, non SSH. Rivela e copiala di nuovo dalla pagina Database.
"Unknown collation" all'importazione. Trattato sopra. Riesporta con una collazione compatibile.
Qualsiasi cosa tu faccia in un client di database accade immediatamente e non può essere annullata. Non c'è nessun passaggio di conferma e nessun cestino. Fai un backup prima di eseguire qualsiasi cosa che scriva. Vedi Esecuzione di un backup.