Gestione dei database MySQL su cPanel
OuiHeberg - Documentazione tecnica
Guida completa per creare e gestire i tuoi database MySQL/MariaDB
Che cos'è un database MySQL?
Un database MySQL (o MariaDB) è un sistema di gestione dei dati che consente di memorizzare, organizzare e recuperare informazioni in modo strutturato. È essenziale per far funzionare la maggior parte delle applicazioni web moderne.
Casi d'uso comuni:
- CMS: WordPress, Joomla, Drupal, PrestaShop
- Forum: phpBB, MyBB, Discourse
- E-commerce: WooCommerce, Magento, OpenCart
- Applicazioni personalizzate: Siti dinamici in PHP, Python, Node.js
Terminologia importante
| Termine | Descrizione |
|---|---|
| Database | Contenitore che memorizza le tue tabelle e dati |
| Utente MySQL | Account con credenziali per accedere ai database |
| Privilegi | Permessi concessi a un utente su un database |
| phpMyAdmin | Interfaccia web per gestire visivamente i tuoi database |
Accedere agli strumenti di database
Connessione a cPanel
- Accedi al tuo spazio cliente OuiHeberg
- Accedi al tuo hosting e fai clic su Accedi a cPanel
Gli strumenti disponibili
Nella sezione Database di cPanel, troverai diversi strumenti:

| Strumento | Descrizione |
|---|---|
| Gestisci i miei database | Gestione completa dei database e degli utenti |
| Database Wizard | Guida passo passo per creare un database |
| phpMyAdmin | Interfaccia grafica per gestire il contenuto dei database |
| Remote MySQL | Consentire le connessioni remote |
Metodo 1: Utilizzare il Database Wizard (Consigliato per i principianti)
La guida Database Wizard è il metodo più semplice per creare un database completo in pochi passaggi.
Passo 1: Aprire la guida
In cPanel, fai clic su Database Wizard nella sezione Database.

Passo 2: Creare il database
Inserisci il nome del tuo nuovo database e fai clic su Next Step.

💡 Nota: cPanel aggiunge automaticamente un prefisso al nome del tuo database (es:
tuoutente_nomedatabase). È questo nome completo che dovrai utilizzare nelle tue applicazioni.
Passo 3: Creare l'utente
Crea un utente MySQL con una password sicura.

Raccomandazioni per la password:
- Minimo 12 caratteri
- Mischiare maiuscole, minuscole, numeri e simboli
- Utilizza il Password Generator integrato per generare una password forte

Fai clic su Create User per continuare.

Passo 4: Assegnare i privilegi
Seleziona i privilegi da concedere all'utente su questo database.

Per un utilizzo standard (WordPress, sito web, ecc.), seleziona ALL PRIVILEGES.
Fai clic su Next Step per finalizzare.
Passo 5: Conferma
Ricevi un riepilogo della tua configurazione:

Informazioni da conservare:
Nome del database: prefisso_nomedatabase
Utente MySQL: prefisso_utente
Password: tua_password
Server MySQL (hostname): localhost
Porta MySQL: 3306
Metodo 2: Utilizzare Gestisci i miei database (Gestione avanzata)
Questo metodo offre maggiore controllo e consente di gestire separatamente i database e gli utenti.
Creare un database
- In cPanel, fai clic su Gestisci i miei database
- Nella sezione Crea nuovo database, inserisci il nome del database
- Fai clic su Crea database

Creare un utente MySQL
- Scorri fino alla sezione Database Users > Aggiungi nuovo utente
- Inserisci il nome utente desiderato
- Crea una password sicura (usa il generatore)
- Fai clic su Crea utente


Associare l'utente al database
- Nella sezione Aggiungi utente al database, seleziona l'utente e il database
- Fai clic su Aggiungi

Configurare i privilegi
Seleziona i privilegi appropriati per l'utente:

Fai clic su Apporta modifiche per applicare.

Verificare la configurazione
Torna su Gestisci i miei database e controlla la sezione Database correnti per verificare che tutto sia configurato correttamente:

Comprendere i privilegi MySQL
Tabella dei privilegi
| Privilegio | Descrizione | Raccomandazione |
|---|---|---|
| ALL PRIVILEGES | Tutti i diritti sul database | ✅ Per il proprietario del sito |
| SELECT | Leggere i dati | Solo lettura |
| INSERT | Aggiungere dati | Scrittura di base |
| UPDATE | Modificare i dati esistenti | Scrittura di base |
| DELETE | Eliminare dati | Scrittura di base |
| CREATE | Creare tabelle | Amministrazione |
| DROP | Eliminare tabelle | ⚠️ Pericoloso |
| ALTER | Modificare la struttura delle tabelle | Amministrazione |
| INDEX | Gestire gli indici | Ottimizzazione |
| REFERENCES | Creare chiavi esterne | Relazioni tra tabelle |
| CREATE TEMPORARY TABLES | Creare tabelle temporanee | Applicazioni avanzate |
| LOCK TABLES | Bloccare tabelle | Manutenzione |
| EXECUTE | Eseguire procedure memorizzate | Applicazioni avanzate |
| CREATE VIEW | Creare viste | Applicazioni avanzate |
| SHOW VIEW | Visualizzare viste | Applicazioni avanzate |
| CREATE ROUTINE | Creare procedure | Applicazioni avanzate |
| ALTER ROUTINE | Modificare procedure | Applicazioni avanzate |
| EVENT | Gestire eventi | Automazione |
| TRIGGER | Gestire trigger | Automazione |
Configurazioni raccomandate per caso d'uso
| Caso d'uso | Privilegi raccomandati |
|---|---|
| WordPress / CMS | ALL PRIVILEGES |
| Applicazione di sola lettura | SELECT |
| Applicazione CRUD di base | SELECT, INSERT, UPDATE, DELETE |
| Sviluppatore | ALL PRIVILEGES |
| Backup automatico | SELECT, LOCK TABLES |
Gestire i database con phpMyAdmin
Accedere a phpMyAdmin
In cPanel, fai clic su phpMyAdmin nella sezione Database.
Interfaccia phpMyAdmin
L'interfaccia è composta da diversi elementi:
| Zona | Descrizione |
|---|---|
| Pannello sinistro | Elenco dei tuoi database e tabelle |
| Zona principale | Visualizzazione e modifica dei dati |
| Barra superiore | Strumenti (SQL, Importa, Esporta, ecc.) |
Azioni comuni in phpMyAdmin
Esplora i dati
- Seleziona un database nel pannello sinistro
- Fai clic su una tabella
- Utilizza la scheda Browse per visualizzare i dati
Eseguire una query SQL
- Seleziona il database
- Fai clic sulla scheda SQL
- Inserisci la tua query e fai clic su Go
-- Esempio: Visualizzare tutti gli utenti WordPress
SELECT * FROM wp_users;
-- Esempio: Contare gli articoli
SELECT COUNT(*) FROM wp_posts WHERE post_type = 'post';
Importare un database
- Seleziona il database di destinazione
- Fai clic sulla scheda Importa
- Scegli il tuo file
.sql - Fai clic su Go
⚠️ Limite di importazione: La dimensione massima di importazione tramite phpMyAdmin è generalmente limitata. Per file di grandi dimensioni, utilizza SSH.
Esportare un database (Backup)
- Seleziona il database
- Fai clic sulla scheda Esporta
- Scegli il formato (SQL consigliato)
- Fai clic su Go
Gestione avanzata
Modificare la password di un utente
- Accedi a Gestisci i miei database
- Nella sezione Utenti correnti, trova l'utente
- Fai clic su Cambia password
- Inserisci la nuova password
- Fai clic su Cambia password
⚠️ Importante: Aggiorna la password in tutti i tuoi file di configurazione (wp-config.php, .env, ecc.)
Rinominare un database
- Accedi a Gestisci i miei database
- In Database correnti, fai clic su Rinomina accanto al database
- Inserisci il nuovo nome
- Fai clic su Procedi
⚠️ Attenzione: La rinominazione interrompe le connessioni attive. Aggiorna i tuoi file di configurazione.
Eliminare un database
- Accedi a Gestisci i miei database
- In Database correnti, fai clic su Elimina accanto al database
- Conferma l'eliminazione
⚠️ Questa azione è irreversibile! Fai sempre un backup prima di eliminare.
Eliminare un utente
- Accedi a Gestisci i miei database
- In Utenti correnti, fai clic su Elimina accanto all'utente
- Conferma l'eliminazione
Revocare i privilegi di un utente
- Accedi a Gestisci i miei database
- In Database correnti, fai clic sul nome dell'utente associato
- Deseleziona i privilegi da rimuovere
- Fai clic su Apporta modifiche
Verificare e riparare un database
Verificare l'integrità
- Accedi a Gestisci i miei database
- Nella sezione Modifica database, seleziona il database
- Fai clic su Controlla database
- cPanel analizza le tabelle e segnala i problemi
Riparare un database
- Nella stessa sezione, seleziona il database
- Fai clic su Ripara database
- cPanel tenta di riparare automaticamente le tabelle corrotte
Configurare l'accesso remoto (Remote MySQL)
Per impostazione predefinita, i database sono accessibili solo dal server. Per consentire l'accesso remoto:
Consentire un indirizzo IP
- In cPanel, fai clic su Remote MySQL
- Inserisci l'indirizzo IP da autorizzare
- Fai clic su Aggiungi host
Utilizzare un carattere jolly
Per consentire un intervallo di indirizzi:
| Formato | Descrizione |
|---|---|
192.168.1.% | Tutti gli IP che iniziano con 192.168.1 |
%.example.com | Tutti i sottodomini di example.com |
⚠️ Sicurezza: Non utilizzare mai
%da solo (tutti gli IP)! Limita sempre l'accesso agli IP necessari.
Configurazione per le applicazioni popolari
WordPress (wp-config.php)
/** Nome del database */
define( 'DB_NAME', 'prefisso_wordpress' );
/** Utente MySQL */
define( 'DB_USER', 'prefisso_utente' );
/** Password MySQL */
define( 'DB_PASSWORD', 'tua_password_sicura' );
/** Server MySQL */
define( 'DB_HOST', 'localhost' );
/** Codifica (UTF-8 consigliata) */
define( 'DB_CHARSET', 'utf8mb4' );
/** Collazione */
define( 'DB_COLLATE', '' );
PrestaShop (parameters.php)
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'prefisso_prestashop',
'database_user' => 'prefisso_utente',
'database_password' => 'tua_password_sicura',
Laravel (.env)
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=prefisso_laravel
DB_USERNAME=prefisso_utente
DB_PASSWORD=tua_password_sicura
PHP (connessione PDO)
<?php
$host = 'localhost';
$dbname = 'prefisso_miodatabase';
$username = 'prefisso_utente';
$password = 'tua_password_sicura';
try {
$pdo = new PDO(
"mysql:host=$host;dbname=$dbname;charset=utf8mb4",
$username,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]
);
echo "Connessione riuscita!";
} catch (PDOException $e) {
die("Errore di connessione: " . $e->getMessage());
}
?>
Risoluzione dei problemi
❓ Errore "Access denied for user"
Cause possibili:
- Password errata
- Utente non associato al database
- Privilegi insufficienti
Soluzioni:
- Controlla la password in Gestisci i miei database
- Verifica che l'utente sia associato al database
- Riattribuisci i privilegi
❓ Errore "Unknown database"
Cause: Il nome del database è errato.
Soluzione: Controlla il nome completo con il prefisso (es: utente_miodatabase).
❓ Errore "Too many connections"
Cause: Troppe connessioni simultanee al database.
Soluzioni:
- Chiudi le connessioni non utilizzate nel tuo codice
- Utilizza connessioni persistenti con moderazione
- Contatta il supporto per aumentare il limite se necessario
❓ Database corrotto
Sintomi: Errori durante le query, dati mancanti.
Soluzioni:
- Utilizza lo strumento Ripara database in cPanel
- In phpMyAdmin, seleziona le tabelle > Ripara tabella
- In SSH:
mysqlcheck -u utente -p --repair nome_database
❓ Importazione fallita (file troppo grande)
Soluzioni:
- Dividi il file SQL in più parti
- Utilizza l'importazione da riga di comando (SSH):
mysql -u utente -p nome_database < file.sql
- Comprimi il file in .gz prima dell'importazione
Buone pratiche di sicurezza
🔒 Raccomandazioni essenziali
| Pratica | Importanza |
|---|---|
| Utilizzare password forti (16+ caratteri) | ⭐⭐⭐ Critica |
| Un utente diverso per database/applicazione | ⭐⭐⭐ Critica |
| Concedere solo i privilegi necessari | ⭐⭐ Importante |
| Eseguire backup regolarmente | ⭐⭐⭐ Critica |
| Non utilizzare mai "root" per le applicazioni | ⭐⭐⭐ Critica |
| Limitare l'accesso remoto | ⭐⭐ Importante |
🛡️ Checklist sicurezza
- [ ] Password unica e complessa per ogni utente
- [ ] Prefisso della tabella personalizzato (non
wp_di default) - [ ] Backup automatico giornaliero configurato
- [ ] Accesso phpMyAdmin sicuro
- [ ] Nessun accesso remoto a meno che non sia assolutamente necessario
- [ ] Privilegi limitati al minimo necessario
Riepilogo
| Passo | Azione |
|---|---|
| 1 | Accedere a Database Wizard o Manage My Databases |
| 2 | Creare il database |
| 3 | Creare l'utente MySQL con una password forte |
| 4 | Associare l'utente al database |
| 5 | Configurare i privilegi appropriati |
| 6 | Annotare le informazioni di accesso |
| 7 | Configurare la tua applicazione con queste informazioni |
| 8 | Testare la connessione |
