MySQL remoto in cPanel: consentire l'accesso esterno ai database
Per motivi di sicurezza, i database MySQL e MariaDB in cPanel sono configurati di default solo per connessioni locali, ad esempio dal vostro sito web ospitato sullo stesso server tramite localhost. Con la funzione MySQL remoto, è possibile consentire l'accesso ai propri database a host esterni selezionati.
Questo strumento è utile, ad esempio, se si lavora con un software di gestione database locale come MySQL Workbench, se si desidera collegare un'applicazione esterna o consentire l'accesso a un determinato database a un server di sviluppo.
%, poiché consentirebbero l'accesso potenzialmente da qualsiasi fonte nel mondo.Quando serve il MySQL remoto?
Il MySQL remoto è necessario quando la connessione al database non proviene direttamente dal sito web situato sul server di hosting, ma deve essere stabilita da un sistema esterno.
- Sviluppo locale: Accesso dal proprio computer tramite MySQL Workbench, TablePlus, DBeaver o strumenti di database simili.
- Applicazione esterna: Connessione da un software o da un server situato al di fuori del proprio ambiente di web hosting.
- Server di sviluppo: Accesso a un database del proprio account di hosting da un ambiente di test o staging.
- Analisi o manutenzione: Accesso temporaneo per analisi dei dati, migrazione o diagnosi degli errori.
Abilitare un host esterno per il MySQL remoto
Per consentire a un dispositivo o server esterno di accedere al vostro database, è necessario autorizzare il suo indirizzo IP pubblico all'interno di cPanel.
- Accedete al cPanel.
- Nella sezione Database, aprite la funzione MySQL remoto.
- Individuate l'indirizzo IP pubblico del dispositivo o del server che deve connettersi.
- Inserite questo indirizzo IP nel campo Host.
- Opzionale: Aggiungete un commento, ad esempio PC Ufficio, Server Sviluppo o MySQL Workbench.
- Cliccate su Aggiungi host.
Dopo l'aggiunta, l'host abilitato sarà teoricamente in grado di stabilire una connessione con il server MySQL o MariaDB, a patto che anche il nome utente, la password, il nome del database e l'indirizzo del server siano corretti.
Quali dati di connessione sono necessari?
Per una connessione esterna al database, all'interno del vostro programma o della vostra applicazione esterna saranno solitamente richiesti i seguenti dati:
| Dato | Descrizione | Esempio |
|---|---|---|
| Server / Host | Nome host (hostname) o indirizzo IP del server database | vostrodominio.ch o indirizzo del server |
| Porta | Porta standard per le connessioni MySQL | 3306 |
| Nome database | Nome completo del database, incluso il prefisso cPanel | utente_database |
| Nome utente | Nome utente completo del database, incluso il prefisso cPanel | utente_dbuser |
| Password | La password impostata per l'utente database | La vostra password del database |
utente_database invece di solo database.Gestire o rimuovere gli host abilitati
Nella sezione MySQL remoto viene mostrato l'elenco degli host attualmente autorizzati. Controllate periodicamente questa lista e rimuovete le voci che non sono più necessarie.
- Usare i commenti: Descrivete chiaramente ogni voce, in modo da poter ricordare facilmente in futuro il motivo per cui l'accesso era stato creato.
- Revocare l'accesso: Rimuovete gli host non più necessari tramite l'apposita funzione di eliminazione.
- Abilitazioni temporanee: Se l'accesso è stato concesso solo per una migrazione o una manutenzione, la voce dovrebbe essere rimossa subito dopo il termine dei lavori.
Caratteri jolly in MySQL remoto
A seconda della configurazione, cPanel può supportare i caratteri jolly per l'abilitazione degli host. Questo consente, ad esempio, di autorizzare intere subnet o intervalli IP. Una voce come 1.2.3.% coprirà tutti gli indirizzi IP all'interno di quel blocco specifico.
Problemi frequenti con le connessioni MySQL remoto
Se la connessione non funziona nonostante l'IP sia stato inserito, verificate i seguenti punti:
| Problema | Possibile causa | Soluzione |
|---|---|---|
| Connessione rifiutata | L'indirizzo IP esterno non è o non è più inserito tra gli host abilitati. | Controllate il vostro attuale IP pubblico e inseritelo in MySQL remoto. |
| Timeout | Un firewall, il router o la rete locale bloccano la connessione. | Verificate se le connessioni in uscita sulla porta 3306 sono consentite. |
| Access denied | Il nome utente, la password o i privilegi sono errati. | Verificate l'utente database, la password e i relativi diritti in cPanel. |
| Unknown database | Il nome del database è errato o incompleto. | Utilizzate il nome completo del database comprensivo di prefisso cPanel. |
| Hostname errato | Viene utilizzato localhost, sebbene la connessione avvenga dall'esterno. |
Utilizzate il nome del server esterno o il corretto indirizzo del server. |
MySQL remoto e privilegi utente
L'abilitazione di un host tramite MySQL remoto non sostituisce l'assegnazione dei privilegi dell'utente del database. Un host esterno può accedere correttamente a un database solo se è presente anche un utente database che sia stato associato a quel determinato database.
In caso di problemi di connessione, verificate pertanto anche la sezione Database MySQL in cPanel:
- L'utente del database esiste?
- L'utente è associato al database corretto?
- L'utente dispone di tutti i privilegi necessari?
- La password è stata inserita correttamente nell'applicazione esterna?
Raccomandazioni di sicurezza per MySQL remoto
- Abilitate solo indirizzi IP specifici, evitando intervalli inutilmente ampi.
- Rimuovete le abilitazioni temporanee non appena avete terminato il lavoro.
- Utilizzate password complesse e uniche per gli utenti del database.
- Se possibile, utilizzate utenti database separati per applicazioni differenti.
- Assegnate solo i privilegi strettamente necessari alle attività da svolgere.
- Non salvate mai le credenziali del database in chiaro in file pubblicamente accessibili.
Riepilogo
Con MySQL remoto potete consentire a determinati dispositivi o server esterni l'accesso ai vostri database MySQL o MariaDB. Questa funzione è estremamente pratica per lo sviluppo, la manutenzione e le applicazioni esterne, ma va usata con estrema consapevolezza.
Per una connessione di successo, oltre all'abilitazione dell'host, sono necessari credenziali corrette, un utente database assegnato e i relativi privilegi.
Desiderate accedere al vostro database dall'esterno ma continuate a riscontrare errori di connessione?
Il team tecnico di CURIAWEB è a vostra disposizione per supportarvi nella verifica di MySQL remoto, dei privilegi utente e dei parametri di connessione.