Avete problemi di connessione al database durante l'installazione? Questa guida illustra i problemi più comuni di connessione al database e fornisce soluzioni passo-passo per risolverli.
Problema A: la convalida fallisce
Nella fase 1 (Pro) e nella fase 2 (Lite) del programma di installazione, quando si fa clic su "Test Database", si riceve uno stato di fallimento.
Soluzione 1: lista di controllo di convalida
Assicurarsi che le credenziali e le autorizzazioni del database siano impostate correttamente:
- Verificare che il database e l'utente del database siano stati creati.
- Verificare che la password corrisponda all'utente del database utilizzato.
- Assicurarsi che l'utente del database sia assegnato al database con le autorizzazioni corrette.
- Cambiare temporaneamente la password dell'utente del database in 'test123' per convalidare l'immissione di caratteri.
- Contattare il proprio provider di hosting per conoscere i parametri esatti richiesti.
Soluzione 2: Convalida del nome host
Il nome host predefinito "localhost" funziona nella maggior parte dei casi, ma può variare a seconda del provider di hosting. Confermate le impostazioni esatte con il vostro host. Alcune varianti comuni sono:
mysql.yourname.com
mysql.hostingcompany.com
mysql.hostingcompany.com:1400
Se viene visualizzato un errore del tipo "Impossibile connettersi al server MySQL locale attraverso il socket '/var/lib/mysql/mysql.sock' (2)", è probabile che il problema sia dovuto a un hostname errato.
Correzione rapida:
Contattare il provider di hosting per confermare le credenziali corrette per le connessioni al database. Fate riferimento a queste risorse di supporto:
- GoDaddy
- HostMonster
- Bluehost
- HostGator
- DreamHost
- Cerca su Google:
"[Your host] database setup"
Soluzione 3: Conflitti in modalità SQL
Se viene visualizzato il messaggio "Errore nella lettura delle variabili del database", è possibile che l'istanza di MySQL abbia attivato la modalità SQL "ANSI_QUOTES". Poiché in questa modalità MySQL tratta i doppi apici come identificatori invece che come stringhe, ciò può causare problemi. Per risolvere il problema, rimuovere la modalità SQL ANSI_QUOTES.
Messaggi di errore comuni:
Unknown column ‘wp_table’ in ‘where clause’
Problema B: Accesso negato
Se si riceve un errore come Access denied for user 'myuser'@'localhost' (using password: YES)
Quando si verifica la connessione al database, seguire le seguenti soluzioni.
Messaggi di errore comuni:
Error: 'Access denied; you need (at least one of) the PROCESS privilege ...
The database user for this WordPress site does NOT have sufficient permissions to write stored procedures ...
Soluzione 1: Assegnazione di privilegi completi
Assicurarsi che l'utente del database sia assegnato al database con privilegi completi:
- Il modo più semplice per confermare le autorizzazioni è contattare il provider di hosting.
- Seguire la guida del Codex di WordPress per creare un database e un utente.
- Per una demo di cPanel, consultare questo articolo.
- Per MySQL 8+: Eseguire il seguente comando per concedere tutti i privilegi richiesti:
GRANT SHOW_ROUTINE ON *.* TO <USER>@<LOCATION>;
Soluzione 2: Creare un nuovo utente del database
Se l'assegnazione dei privilegi completi non funziona, creare un nuovo utente del database, concedere i permessi completi e assegnarlo al database. Questo può risolvere i problemi di cache memorizzati nel database.
Soluzione 3: Spostamento dei database tra i server
Durante la migrazione di un sito tra server MySQL, le diverse versioni di MySQL potrebbero non supportare le stesse direttive, causando un errore del tipo:
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege ...'
Soluzioni:
- Costruire in modalità PHP: Utilizzare PHP per evitare conflitti con le direttive MySQL.
- Modificare lo script SQL: Rimuovere le direttive non supportate dal file SQL prima di eseguire il programma di installazione.
Problema C: Timeout del database
Se al passaggio 2 si verificano timeout della connessione SQL o errori di memoria, seguire le seguenti soluzioni.
Soluzione 1: Abilitare il chunking del database
Questo processo multi-thread suddivide l'installazione del database in query più piccole.
- Eseguire il programma di installazione e attivare la modalità avanzata facendo clic sul pulsante "Avanzate".
- Al punto 1, in Opzioni " Scheda Database " Elaborazione, attivare la "Modalità di raggruppamento".
- Continuare l'installazione.
Soluzione 2: Saltare l'estrazione del database
Invece di creare nuove tabelle del database, importate manualmente il database.
Passi:
- Estratto
database.sql
dall'archivio. - Utilizzare phpMyAdmin per rimuovere le tabelle esistenti e importare il file SQL.
- Nel programma di installazione, selezionare "Salta estrazione del database" in Opzioni avanzate.
Soluzione 3: Problemi specifici di Duplicator Lite
Duplicator Lite (v1.4.7.2 o precedente) supporta solo un'importazione di database a thread singolo, che può causare problemi su server condivisi molto trafficati.
Soluzioni:
- Eseguire l'installatore nelle ore non di punta.
- Cambiare la modalità di costruzione nelle impostazioni di Duplicator in "PHP".
- Contattare il proprio host per aumentare i limiti di timeout del server.
- Aggiornare Duplicator Pro per utilizzare il chunking dei file SQL.
Messaggi di errore comuni:
MySQL Server has gone away, out of memory, or 500 Error
Risoluzione dei problemi
Se i problemi di connessione persistono, utilizzare il codice PHP per isolare il problema. Creare un file chiamato db-test.php
nella stessa cartella del programma di installazione e inserire il seguente codice:
<?php
$servername = "your_server";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Success: Connected to MySQL!";
?>
Se lo script non funziona, condividetelo con il vostro provider di hosting per un ulteriore debugging.
Questo script è disponibile anche nella cartella Directory degli strumenti di Duplicator Pro a /plugins/duplicator-pro/tools/db-test.php
.
Seguendo queste soluzioni, è possibile risolvere i problemi di connessione al database e garantire un processo di installazione senza problemi.