Η ιστοσελίδα σας εμφανίζει μόνο μία γραμμή: «Σφάλμα κατά τη σύνδεση με τη βάση δεδομένων». Το WordPress δεν μπόρεσε να ανοίξει τη βάση όπου βρίσκονται οι σελίδες, οι ρυθμίσεις και οι λογαριασμοί σας. Το περιεχόμενό σας είναι συνήθως άθικτο: ο οδηγός αυτός εξηγεί πώς θα βρείτε ποια από τις τέσσερις πιθανές αιτίες ισχύει, και πώς θα τη διορθώσετε.
wp-config.php. Το περιεχόμενό σας είναι συνήθως άθικτο.DB_NAME, DB_USER, DB_PASSWORD και DB_HOST του wp-config.php με εκείνες του πίνακα διαχείρισης του παρόχου.Σε κάθε σελίδα που εμφανίζει, το WordPress ανοίγει σύνδεση με τη βάση δεδομένων MySQL ή MariaDB με τέσσερις πληροφορίες γραμμένες στο wp-config.php, στη ρίζα της ιστοσελίδας:
define( 'DB_NAME', 'onoma_vasis' );
define( 'DB_USER', 'xristis' );
define( 'DB_PASSWORD', 'kodikos' );
define( 'DB_HOST', 'localhost' );
Το «Σφάλμα κατά τη σύνδεση με τη βάση δεδομένων» σημαίνει ότι αυτή η σύνδεση απέτυχε. Τέσσερις αιτίες το προκαλούν: στοιχεία σύνδεσης που δεν ταιριάζουν πια, ένας διακομιστής βάσης δεδομένων σταματημένος ή απρόσιτος, ένας υπερφορτωμένος διακομιστής, ή μια κατεστραμμένη βάση. Οι ενότητες που ακολουθούν τις εξετάζουν από την πιο εύκολη στον έλεγχο έως την πιο σπάνια.
Αν φταίει ο διακομιστής, ανοίξτε αίτημα υποστήριξης στον πάροχο φιλοξενίας, δίνοντας την ώρα έναρξης της βλάβης και το ακριβές μήνυμα. Στο μεταξύ, δεν χρειάζεται να αλλάξετε τίποτα στην ιστοσελίδα.
Είναι η πιο συχνή αιτία μετά από μεταφορά της ιστοσελίδας, αλλαγή του κωδικού της βάσης στον πίνακα διαχείρισης του παρόχου, ή επαναφορά αντιγράφου ασφαλείας. Συγκρίνετε τις τέσσερις τιμές του wp-config.php με την ενότητα βάσεων δεδομένων του παρόχου φιλοξενίας:
DB_NAME και DB_USER: πολλοί πάροχοι τους προσθέτουν ως πρόθεμα το όνομα του λογαριασμού (logariasmos_wordpress). Το πρόθεμα είναι μέρος του ονόματος.DB_PASSWORD: αν έχετε αμφιβολία, ορίστε νέο κωδικό για τον χρήστη στον πίνακα διαχείρισης και περάστε τον στο αρχείο.DB_HOST: localhost σε πολλούς παρόχους, αλλά όχι σε όλους. Ορισμένοι δίνουν όνομα διακομιστή ή διεύθυνση, μερικές φορές με θύρα (:3306). Η ακριβής τιμή βρίσκεται στον πίνακα διαχείρισης.Ένας κωδικός που περιέχει απόστροφο (') κόβει τη συμβολοσειρά PHP που τον περιβάλλει στο wp-config.php. Βάλτε πριν από την απόστροφο μια ανάποδη κάθετο (\'), ή επιλέξτε κωδικό χωρίς απόστροφο.
Το WordPress εμφανίζει ένα γενικό μήνυμα. Η MySQL, αντίθετα, λέει ακριβώς τι δεν πάει καλά. Δύο τρόποι να τη ρωτήσετε με τις τιμές του wp-config.php:
mysql -h localhost -u xristis -p onoma_vasis
Με το WP-CLI, το wp db check διαβάζει απευθείας το wp-config.php και ελέγχει τους πίνακες με αυτά τα στοιχεία.
Ανεβάστε αυτό το αρχείο στη ρίζα της ιστοσελίδας με ένα όνομα που δύσκολα μαντεύει κανείς, ανοίξτε το στο πρόγραμμα περιήγησης και διαγράψτε το αμέσως: περιέχει τον κωδικό της βάσης.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$syndesi = @mysqli_connect('localhost', 'xristis', 'kodikos', 'onoma_vasis');
echo $syndesi ? 'Επιτυχής σύνδεση' : 'Αποτυχία: ' . mysqli_connect_error();
Η πρώτη γραμμή μετράει: από την PHP 8.1, μια σύνδεση που αποτυγχάνει προκαλεί εξ ορισμού εξαίρεση, και η σελίδα θα έμενε λευκή αντί να εμφανίσει το μήνυμα της MySQL.
| Η MySQL απαντά | Η αιτία | Η διόρθωση |
|---|---|---|
Access denied for user 'xristis'@'localhost' (using password: YES) | Ο συνδυασμός χρήστη και κωδικού απορρίπτεται, ή ο χρήστης δεν έχει δικαίωμα σύνδεσης από αυτόν τον υπολογιστή (host). | Ορίστε ξανά τον κωδικό στον πίνακα διαχείρισης και περάστε τον στο DB_PASSWORD. Ελέγξτε το DB_USER. |
Access denied for user 'xristis'@'localhost' to database 'onoma_vasis' | Ο χρήστης συνδέεται, αλλά δεν έχει δικαιώματα σε αυτή τη βάση. | Συνδέστε τον χρήστη με τη βάση στον πίνακα διαχείρισης του παρόχου, με όλα τα προνόμια. |
Unknown database 'onoma_vasis' | Η σύνδεση λειτουργεί, αλλά καμία βάση δεν έχει αυτό το όνομα. | Διορθώστε το DB_NAME, μαζί με το πρόθεμα. Ελέγξτε ότι η βάση υπάρχει ακόμη. |
Too many connections | Ο διακομιστής έφτασε τον μέγιστο αριθμό ταυτόχρονων συνδέσεων. | Δείτε την ενότητα για το σφάλμα που έρχεται και φεύγει. |
Connection refused ή No such file or directory (κωδικός 2002 από την PHP), Can't connect to MySQL server (από τη γραμμή εντολών) | Κανένας διακομιστής δεν απαντά σε αυτή τη διεύθυνση: ο διακομιστής είναι σταματημένος, ή το DB_HOST είναι λάθος. | Ελέγξτε το DB_HOST στον πίνακα διαχείρισης. Αλλιώς, ενημερώστε τον πάροχο φιλοξενίας. |
Επιτυχής σύνδεση | Τα στοιχεία είναι σωστά. | Αναζητήστε την αιτία στην ίδια τη βάση: επόμενη ενότητα. |
Όταν τα στοιχεία είναι σωστά αλλά ορισμένοι πίνακες έχουν καταστραφεί, η δημόσια ιστοσελίδα εμφανίζει το ίδιο μήνυμα σφάλματος σύνδεσης, και η διαχείριση ένα πιο ακριβές: «Δεν είναι διαθέσιμοι όλοι οι πίνακες της βάσης δεδομένων. Η βάση ίσως χρειάζεται επιδιόρθωση.». Το WordPress διαθέτει εργαλείο γι’ αυτό. Προσθέστε αυτή τη γραμμή στο wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Ανοίξτε έπειτα το https://www.i-istoselida-sas.com/wp-admin/maint/repair.php και εκτελέστε την «Επιδιόρθωση βάσης». Αφαιρέστε τη γραμμή μόλις ολοκληρωθεί η επιδιόρθωση: όσο βρίσκεται εκεί, η σελίδα είναι προσβάσιμη σε οποιονδήποτε, χωρίς σύνδεση.
Πριν από κάθε επιδιόρθωση, κάντε εξαγωγή της βάσης (wp db export, ή η λειτουργία εξαγωγής του phpMyAdmin). Αν η επιδιόρθωση αποτύχει, ο πάροχος φιλοξενίας μπορεί να επαναφέρει τη βάση από τα αντίγραφα ασφαλείας του.
Ένα σφάλμα που εμφανίζεται ορισμένες ώρες και εξαφανίζεται από μόνο του δείχνει υπερφορτωμένο διακομιστή μάλλον παρά λάθος ρύθμιση. Οι πιο συνηθισμένες αιτίες:
wp-login.php ή στο xmlrpc.php, που φαίνονται στα αρχεία καταγραφής πρόσβασης του παρόχου.Οι διορθώσεις: μπλοκάρετε τις καταχρηστικές απόπειρες σύνδεσης, εγκαθιστάτε cache σελίδων, απενεργοποιείτε το xmlrpc.php αν καμία εφαρμογή δεν το χρησιμοποιεί, και ζητάτε από τον πάροχο τα αρχεία καταγραφής της περιόδου του σφάλματος.
Με το Serenity by Simafri, δημιουργούμε την επαγγελματική σας ιστοσελίδα, τη φιλοξενούμε, την ασφαλίζουμε και τη διατηρούμε ενημερωμένη. Εσείς μας γράφετε, εμείς φροντίζουμε τα πάντα. Το όνομα τομέα και το επαγγελματικό email συμπεριλαμβάνονται.
Συνήθως όχι. Το μήνυμα λέει ότι το WordPress δεν μπόρεσε να συνδεθεί με τη βάση, όχι ότι η βάση εξαφανίστηκε. Αν το phpMyAdmin εμφανίζει ακόμη τους πίνακες της ιστοσελίδας, οι σελίδες, τα άρθρα και οι ρυθμίσεις σας είναι στη θέση τους.
Επειδή η νέα φιλοξενία χρησιμοποιεί άλλα στοιχεία βάσης: όνομα βάσης, χρήστη, κωδικό και μερικές φορές διεύθυνση διακομιστή. Περάστε τις τιμές του νέου πίνακα διαχείρισης στα DB_NAME, DB_USER, DB_PASSWORD και DB_HOST, στο wp-config.php.
Η επανεγκατάσταση του WordPress δεν αλλάζει ούτε τα στοιχεία του wp-config.php ούτε την κατάσταση του διακομιστή βάσης δεδομένων, που είναι οι αιτίες αυτού του μηνύματος. Δοκιμάστε πρώτα τα στοιχεία, μετά την κατάσταση του διακομιστή, και μετά την ακεραιότητα των πινάκων.
Από υπερφόρτωση μάλλον παρά από ρύθμιση: υπερβολικά πολλές ταυτόχρονες συνδέσεις, μια αιχμή επισκεψιμότητας ή ρομπότ. Τα αρχεία καταγραφής πρόσβασης και η κατανάλωση πόρων στον πίνακα διαχείρισης του παρόχου δείχνουν τι συνέβαινε τη στιγμή του σφάλματος.
Simafri
Ας μιλήσουμε για την ιστοσελίδα σας
Πείτε μας με λίγα λόγια για το έργο σας: θα επικοινωνήσουμε σύντομα μαζί σας.
Ευχαριστούμε! Το αίτημά σας εστάλη. Θα επικοινωνήσουμε σύντομα μαζί σας.
Προτιμάτε email; Γράψτε μας στο support@simafri.com.