Vai al contenuto
Indice
Siti web

Connessione al database da remoto

Traduzione automatica. L'originale in inglese è disponibile.

Dove trovare le credenziali del database, perché le connessioni remote dirette sulla porta 3306 vengono rifiutate, e come collegare uno strumento desktop tramite un tunnel SSH.

Ogni sito di web hosting KapsuleHost con un database riceve il proprio database, il proprio utente database e credenziali che puoi consultare in qualsiasi momento. Quello che non puoi fare è collegarti direttamente ad esso attraverso internet, e questo è intenzionale. Questa guida illustra le credenziali, i due modi supportati per accedere, e come configurare il tunnel richiesto dagli strumenti desktop per database.

Trovare le Tue Credenziali

Vai su Siti web, clicca sul sito, poi Database.

La pagina mostra cinque elementi:

CampoValore
Host127.0.0.1
Porta3306
Databaseil nome del tuo database
Nome utenteil tuo utente database
Passwordmascherata, con un pulsante per rivelarla e uno per copiarla

La password non viene mostrata una sola volta. Puoi tornare e leggerla ogni volta che ne hai bisogno, quindi non è necessario salvarla altrove.

Il server database è MariaDB 10.11, compatibile con MySQL. Questo ha una conseguenza pratica: un dump esportato da una versione recente di MySQL può contenere collation che MariaDB non riconosce, e l'importazione fallirà con un errore "unknown collation". Se accade, riesporta usando una collation ampiamente compatibile come utf8mb4_unicode_ci, oppure cerca e sostituiscila nel file di dump prima di importarlo.

La scheda Database per un sito in KPanel, con i dettagli di connessione al database

Perché l'Host È 127.0.0.1

127.0.0.1 significa "questa macchina". Il server database ascolta solo sull'interfaccia interna della macchina stessa, e la porta 3306 non è aperta verso internet nemmeno a livello di firewall. Non esiste un'impostazione nel pannello per aprirla, e non esiste una lista di IP autorizzati per essa.

Questa non è una svista. Una porta database esposta a internet è una delle cose più regolarmente sfruttate nell'hosting: viene scansionata continuamente, rivela informazioni sulla versione a chiunque si connetta, e una singola password debole ti fa perdere l'intero sito. Tenerla chiusa elimina del tutto questa categoria di rischio.

Quindi una stringa di connessione che usa l'indirizzo IP pubblico del tuo sito e la porta 3306 fallirà sempre, da qualsiasi luogo, su ogni piano. Esistono invece due modi supportati per accedere.

Opzione 1: phpMyAdmin nel Browser

Il modo più semplice per un'occhiata rapida, una modifica, o un piccolo import o export.

Nella pagina Database, clicca su Apri phpMyAdmin. Vieni autenticato direttamente con le credenziali del tuo sito e vedi solo i tuoi database.

Il link che fa questo è volutamente di breve durata, e fallisce in modi che sembrano errori ma non lo sono:

  • Scade in 60 secondi. Cliccalo non appena appare.
  • Funziona una sola volta. Tornare indietro e ricaricare non funzionerà; generane uno nuovo.
  • Deve essere aperto dallo stesso browser e dalla stessa rete da cui lo hai richiesto. Se copi il link su un altro dispositivo, o la tua connessione cambia indirizzo nel frattempo, viene rifiutato.

Se vedi "This link has already been used" o un messaggio relativo a una discrepanza di IP, è la protezione che sta funzionando. Torna alla pagina Database e clicca di nuovo il pulsante.

Per lavorare con phpMyAdmin stesso, consulta Utilizzo di phpMyAdmin.

Opzione 2: Un Tunnel SSH per Strumenti Desktop

Se vuoi usare un client desktop, questo è il percorso supportato. Il tunnel apre una connessione cifrata verso il server e inoltra una porta sulla tua stessa macchina attraverso di essa, così il tuo client si collega a quello che appare come un database locale.

Cosa Ti Serve Prima

Una chiave SSH sul sito. L'autenticazione tramite password non è accettata, quindi questo passaggio non è facoltativo.

  1. Vai su Siti web, il sito, Impostazioni, poi Chiavi SSH.
  2. Incolla la chiave pubblica che già usi, oppure genera una nuova coppia di chiavi dal pannello.
  3. Annota il nome utente mostrato in 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 sola volta e mai più. Salvala immediatamente, e conservala in un posto leggibile solo da te.

Riceverai inoltre un'email ogni volta che una chiave viene aggiunta al tuo sito. È voluto. Se ne arriva una e non sei stato tu, revocala subito da quella pagina e leggi Se il Tuo Sito È Stato Violato.

Consulta Aggiungere Chiavi SSH per la procedura completa.

Un account SFTP creato nella scheda SFTP non funzionerà per un tunnel. Quegli account servono solo per il trasferimento file, senza shell e senza inoltro di porte. Il tunnelling richiede l'utente SSH proprio del sito, con una chiave. Consulta Accesso SFTP.

Aprire il 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. Analizzando il comando:

  • -N significa non eseguire un comando, limitarsi a mantenere il tunnel aperto.
  • -L 3307:127.0.0.1:3306 inoltra la porta 3307 sulla tua macchina alla porta 3306 sul server.
  • Si usa la porta 3307 anziché la 3306 in modo che non entri in conflitto con un database che potresti avere in esecuzione localmente.

Il comando non stampa nulla quando funziona. È corretto così. Lascia aperta la finestra del terminale finché ti serve la connessione, e premi Ctrl+C per chiuderla.

Collegare il Tuo Client

Con il tunnel aperto, punta il tuo strumento database verso:

ImpostazioneValore
Host127.0.0.1
Porta3307
Nome utenteil nome utente database dalla pagina Database
Passwordla password database dalla pagina Database
Databaseil nome del tuo database

Nota la distinzione: il nome utente SSH è l'utente di sistema del tuo sito, mentre il nome utente del database è un altro, diverso, preso dalla pagina Database. Confondere i due è di gran lunga l'errore più comune in questo ambito.

La maggior parte dei client desktop ha anche un'opzione integrata "connetti tramite tunnel SSH", che fa esattamente quanto sopra senza un terminale separato. Compila l'host SSH cp1-kapsule.kapsulehost.com, la porta 22, il tuo nome utente SSH, e il file della tua chiave privata, poi i campi database come sopra.

Consulta Tunnel SSH per Database per la configurazione specifica di ciascun client.

Riga di Comando sul Server

Se te la cavi con un terminale, non ti serve affatto un tunnel. Collegati via 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 far passare un database di grandi dimensioni attraverso un tunnel, ed è il modo corretto per fare un dump manuale prima di una modifica rischiosa. In particolare per WordPress, WP-CLI è di solito ancora meglio.

Risoluzione dei Problemi

"Connection refused" sulla porta 3306 dalla tua stessa 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 presente nella pagina Chiavi SSH e aggiungi -i /path/to/your/private/key al comando.

"Permission denied (publickey)". Nome utente sbagliato, o chiave sbagliata. Il nome utente è quello sulla pagina Chiavi SSH, non la tua email di accesso a KapsuleHost.

"Address already in use" per la porta 3307. Un tunnel è già aperto, oppure 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 riesce a connettersi. Conferma che il tuo client sia puntato su 127.0.0.1 e sulla porta locale scelta, non sul tuo dominio.

"Access denied for user". Credenziali database, non SSH. Rivelale e copiale di nuovo dalla pagina Database.

"Unknown collation" durante l'importazione. Trattato sopra. Riesporta con una collation compatibile.

Qualsiasi cosa tu faccia in un client database avviene immediatamente e non può essere annullata. Non c'è alcun passaggio di conferma e nessun cestino. Fai un backup prima di eseguire qualsiasi operazione di scrittura. Consulta Eseguire un Backup.

Guide Correlate

Ti è stato utile?

È un'IA? Legga questa pagina in Markdown

Articoli correlati

Connessione tramite SFTP: FileZilla, Cyberduck e riga di comandoSFTP (Secure File Transfer Protocol) ti offre accesso diretto ai file del tuo sito sul server. Questa guida copre tutto ciò che ti serve per collegarti con…Certificati SSL e HTTPSQuesto articolo spiega cosa sia SSL in parole semplici, come KapsuleHost gestisca automaticamente SSL per i tuoi siti e cosa fare se qualcosa va storto con il…Siti web: da dove iniziareCome funziona l'hosting di siti web presso KapsuleHost, cosa si trova in ciascuna scheda di un sito e quale guida leggere per il compito che hai davanti.…Monitoraggio del Tempo di Attività del SitoOgni sito su KapsuleHost viene controllato automaticamente ogni 60 secondi, e la scheda Uptime mostra il risultato: stato attuale, percentuale di uptime, tempi…

Hai ancora bisogno di aiuto?

Chiedi a Kora, che conosce il tuo account, o contatta il nostro team.

ContattaciContatta il supporto