Come posso risolvere gli errori di connessione al database sulle applicazioni basate su WordPress ospitate in Lightsail?
Quando collego la mia applicazione basata su WordPress ad Amazon Lightsail, ricevo uno o entrambi i seguenti errori: “Error establishing a database connection.” “One or more database tables are unavailable. The database may need to be repaired.” Desidero risolvere questo problema.
Breve descrizione
Questi messaggi di errore vengono visualizzati per i seguenti motivi:
- Tabelle del database danneggiate
- Connessione al database remoto bloccata
- Problemi relativi al servizio del database
- Spazio insufficiente sul volume
- Credenziali di accesso errate nel file di configurazione di WordPress
Risoluzione
Tabelle del database danneggiate
Per verificare la presenza di tabelle di database danneggiate, completare i passaggi seguenti:
-
Vai su example.com/wp-admin e cerca il seguente errore: Una o più tabelle del database non sono disponibili. Potrebbe essere necessario riparare il database.
Nota: sostituisci example.com con il nome del tuo sito web. -
Utilizza un editor di testo, ad esempio l'editor vi, per accedere al file wp-config.php:
$ sudo vi wp-config.php
-
Subito prima della battuta Questo è tutto, smettila di modificare! Buon blog, aggiungi la seguente riga:
define('WP_ALLOW_REPAIR' ,true);
-
Vai su example.com/wp-admin/maint/repair.php, quindi esegui Repair Database.
Nota: sostituisci example.com con il nome del tuo sito web. -
Torna al file wp-config-php e rimuovi la riga di codice che hai aggiunto nel passaggio 3.
Connessione al database remoto bloccata
Se il server del database non consente connessioni remote dall'istanza che ospita il sito Web, non puoi connetterti al database. È consigliabile archiviare il database del sito Web in un database gestito da Lightsail per garantire disponibilità e sicurezza elevate.
Per verificare la connessione al database, completa i seguenti passaggi:
- Controlla il file di configurazione wp-config.php per il valore DB\ _HOST:
Nota: se il valore non è localhost o 127.0.0.1, il database risiede in un server remoto. Copia il valore DB\ _HOST da utilizzare nel passaggio successivo.define('DB_HOST', '192.168.22.9');
- Usa la porta 3306 per telnet dal server al server remoto:
Nota: sostituisci l'**IP del server remoto ** con il valore DB\ _HOST ricevuto nel passaggio 1.telnet remote server IP 3306
- Se non riesci a connetterti, la configurazione del database del server remoto non consente connessioni remote. Un firewall sul server remoto potrebbe anche bloccare la connessione. Contatta il proprietario del database esterno o il team di supporto per configurare le connessioni dalla tua istanza Lightsail.
Problemi relativi al servizio del database
Per verificare se il servizio di database è inattivo, stabilisci se la tua istanza di Lightsail WordPress utilizza MySQL o MariaDB come tipo di server. Inoltre, controlla se l'istanza utilizza sistemi Linux nativi o un server con installazione autonoma. Per identificare il tipo e l'approccio del server, esegui i seguenti comandi:
test -d /opt/bitnami/mariadb && echo "MariaDB" || echo "MySQL"
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A" || echo "Approach B"
Nota: se vedi Approach A nell'output, significa che il tuo server utilizza sistemi Linux nativi. Se vedi Approach B, il server è un'installazione autonoma.
Server di database MySQL
Per verificare eventuali problemi di servizio con un database MySQL, completa i seguenti passaggi:
-
Per verificare lo stato del server del database, esegui il comando seguente:
sudo /opt/bitnami/ctlscript.sh status mysql
-
Se il database viene interrotto, esegui il comando seguente:
sudo /opt/bitnami/ctlscript.sh start mysql
-
Se non riesci ancora ad avviare il servizio di database o vedi errori durante il processo di avvio, controlla i log del database per identificare la causa principale. Se il tuo server utilizza sistemi Linux nativi, controlla la seguente posizione del file: /opt/bitnami/mysql/logs/mysqld.log. Se il server è un'installazione autonoma, controlla la seguente posizione del file: /opt/bitnami/mysql/data/mysqld.log. Lo spazio su disco insufficiente o la memoria disponibile insufficiente influiscono sulle prestazioni e sulla connettività del database. Per controllare queste risorse, esegui i comandi df e free.
Server di database MariaDB
Per verificare la presenza di problemi di servizio con un database MariaDB, completa i seguenti passaggi:
-
Per verificare lo stato del server del database, esegui il comando seguente:
sudo /opt/bitnami/ctlscript.sh status mariadb
-
Se il database viene interrotto, esegui il comando seguente:
sudo /opt/bitnami/ctlscript.sh start mariadb
-
Se non riesci ancora ad avviare il servizio di database o vedi errori durante il processo di avvio, controlla i log del database per identificare la causa principale. Se il tuo server utilizza sistemi Linux nativi, controlla la seguente posizione del file: /opt/bitnami/mariadb/logs/mysqld.log. Se il server è un'installazione autonoma, controlla la seguente posizione del file: /opt/bitnami/mariadb/data/mysqld.log. Lo spazio su disco insufficiente o la memoria disponibile insufficiente influiscono sulle prestazioni e sulla connettività del database. Per controllare queste risorse, esegui i comandi df e free.
Spazio insufficiente sul volume
Se lo spazio libero su disco sul volume è del 100% o appena inferiore al 100%, il servizio di database potrebbe interrompersi.
Per controllare il volume del tuo server, completa i seguenti passaggi:
-
Per vedere la quantità di spazio libero su disco, esegui il comando seguente:
$ sudo df -h
Esempio di output:
Filesystem Size Used Avail Use% Mounted ondevtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 400K 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/nvme0n1p1 8.0G 8.0G 0G 100% / tmpfs 389M 0 389M 0% /run/user/1000
-
Se non hai abbastanza spazio disponibile, aumenta le dimensioni dell'istanza o elimina i file non necessari dal server.
-
Riavvia il servizio di database.
Credenziali di accesso errate nel file di configurazione di WordPress
Verifica le tue credenziali
Completa i seguenti passaggi:
- Vai al file wp-config.php. Copia i dettagli in DB\ _NAME, DB\ _HOST, DB\ _USER e DB\ _PASSWORD in un file di testo da utilizzare nel passaggio successivo.
- Per accedere al database da un terminale, esegui il comando seguente:
Nota: sostituisci DB\ _NAME, **DB\ _HOST ** e DB\ _USER con i valori copiati nel passaggio 1.sudo mysql 'DB_NAME' -h 'DB_HOST' -u 'DB_USER' -pEnter password: ********
- Immetti la password con il valore DB\ _PASSWORD, quindi premi INVIO.
Nota: se ricevi un errore di accesso negato, le credenziali non sono corrette. Per risolvere questo problema, reimposta la password utente del database. - Se il tuo host DB è remoto, aggiorna la stringa di connessione nel file wp-config.php. Se il database si trova nello stesso server, verifica che DB\ _NAME sia bitnami-wordpress e DB\ _USER sia bn_wordpress.
Reimposta la password utente del database
Completa i seguenti passaggi:
-
Per accedere a /home/bitnami/bitnami_credentials, esegui il seguente comando:
sudo cat /home/bitnami/bitnami_credentials
Nota: Copia la password del database principale in un file di testo da utilizzare nel passaggio successivo.
-
Per accedere alla tua shell MySQL o MariaDB, esegui il seguente comando:
sudo mysql -u root -pEnter password: ********
Nota: Sostituisci mysql con il tuo server e**\ *\ *\ *\ *\ *\ *\ *\ *** con la password del database root che hai copiato nel passaggio 1. Se non riesci ad accedere con la password, segui le istruzioni sul sito web di Bitnami per reimpostare la password per MySQL o MariaDB.
-
Per verificare l'esistenza del database bitnami_wordpress, esegui la seguente query:
show databases;
-
Per verificare l'esistenza dell'utente del database bn-wordpress, esegui la seguente query:
SELECT user FROM mysql.user;
-
Se utilizzi un database MySQL, esegui il seguente comando per reimpostare la password del database dell'utente bn-wordpress:
alter user 'bn_wordpress'@'localhost' identified by 'PASSWORD';alter user 'bn_wordpress'@'127.0.0.1' identified by 'PASSWORD';
Se utilizzi un database MariaDB, esegui il seguente comando per reimpostare la password del database dell'utente bn-wordpress:
alter user 'bn_wordpress'@'%' identified by 'PASSWORD';
Nota: Sostituisci PASSWORD con la password del file wp-config.php nel passaggio 3 di Verifica le tue credenziali.
Se nessuna delle risoluzioni precedenti risolve il problema, avvia una nuova istanza Lightsail da un'istantanea.
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 10 mesi fa
- AWS UFFICIALEAggiornata 10 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa