Quando serve l'accesso remoto
L'accesso remoto ti permette di collegarti al database MySQL da:
- L'ambiente di sviluppo locale (XAMPP, MAMP, Docker)
- I programmi per database sul computer (MySQL Workbench, DBeaver, Sequel Pro)
- Altri server o applicazioni nel cloud
- Script automatici e strumenti di backup
Nota di sicurezza: l'accesso remoto a MySQL apre un possibile varco. Attivalo solo quando serve davvero e usa sempre password robuste.
Attivare l'accesso remoto
Passo 1: aggiungi l'host remoto
- Accedi a EGPNL
- Vai su Database → MySQL remoto
- Inserisci il tuo indirizzo IP o nome host
- Fai clic su Aggiungi host
Come trovare il tuo IP: vai su whatismyipaddress.com per vedere il tuo IP pubblico attuale.
Passo 2: configura l'utente del database
Assicurati che l'utente del database abbia i permessi giusti:
- Vai su Database MySQL
- Verifica che l'utente abbia tutti i privilegi
- Oppure crea un utente dedicato all'accesso remoto
Impostazioni di connessione
| Impostazione | Valore |
|---|---|
| Nome host | L'IP del tuo server oppure iltuodominio.it |
| Porta | 3306 (la porta predefinita di MySQL) |
| Database | your_database_name |
| Nome utente | your_database_user |
| Password | your_database_password |
Collegarsi con MySQL Workbench
- Apri MySQL Workbench
- Fai clic su + per aggiungere una connessione
- Dai un nome alla connessione
- Imposta Nome host con l'indirizzo del tuo server
- Imposta Porta su 3306
- Inserisci il nome utente
- Fai clic su Store in Vault per la password
- Fai clic su Prova la connessione
- Fai clic su OK per salvare
Collegarsi da riga di comando
# Basic connection
mysql -h your-server.com -P 3306 -u username -p database_name
# Example
mysql -h server.egphp.com -P 3306 -u mysite_user -p mysite_db
Collegarsi con PHP (applicazione remota)
<?php
$host = 'your-server.com'; // Remote server hostname
$port = 3306;
$database = 'your_database';
$username = 'your_user';
$password = 'your_password';
// PDO Connection
try {
$pdo = new PDO(
"mysql:host=$host;port=$port;dbname=$database;charset=utf8mb4",
$username,
$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Consentire tutti gli host (jolly)
Per accettare connessioni da qualsiasi indirizzo IP:
- Vai su MySQL remoto in EGPNL
- Scrivi
%come host - Fai clic su Aggiungi host
Sconsigliato: aprire a tutti gli host (%) è un rischio. Usalo solo per una prova e poi rimuovilo. Quando puoi, indica indirizzi IP precisi.
Tunnel SSH (la via più sicura)
Per la massima sicurezza collegati attraverso un tunnel SSH:
Tunnel SSH da riga di comando
# Create tunnel
ssh -L 3307:localhost:3306 user@your-server.com
# In another terminal, connect via tunnel
mysql -h 127.0.0.1 -P 3307 -u dbuser -p database_name
SSH con MySQL Workbench
- Crea una nuova connessione
- Imposta il metodo di connessione su Standard TCP/IP over SSH
- Nome host SSH: your-server.com
- Nome utente SSH: il tuo utente SSH
- File della chiave SSH: la tua chiave privata (facoltativo)
- Nome host MySQL: localhost (oppure 127.0.0.1)
- Inserisci le credenziali del database
Perché un tunnel SSH? Cifra tutto il traffico e non obbliga ad aprire la porta MySQL 3306 verso internet.
Risoluzione dei problemi
Connessione rifiutata
- Verifica che il tuo IP sia stato aggiunto a MySQL remoto
- Controlla se il tuo IP è cambiato (potrebbe essere dinamico)
- Assicurati che la porta 3306 sia aperta sul tuo firewall
Accesso negato
- Verifica nome utente e password
- Controlla che l'utente abbia i privilegi di accesso remoto
- Assicurati che il nome del database sia giusto
Errori di tempo scaduto
- Controlla se la rete o il firewall bloccano la porta 3306
- Prova a passare da un tunnel SSH
- Verifica che il server accetti connessioni
Togliere l'accesso remoto
Quando l'accesso remoto non ti serve più:
- Vai su MySQL remoto in EGPNL
- Individua la voce dell'IP o dell'host
- Fai clic su Elimina
Questo articolo ti è stato utile?