Váš web zobrazuje už len jeden riadok: „Chyba pri nadväzovaní spojenia s databázou“. WordPress nedokázal otvoriť databázu, v ktorej sú vaše stránky, nastavenia a účty. Váš obsah je zvyčajne neporušený: tento sprievodca vysvetľuje, ako zistiť, ktorá zo štyroch možných príčin za tým je, a ako ju opraviť.
wp-config.php. Váš obsah je zvyčajne neporušený.DB_NAME, DB_USER, DB_PASSWORD a DB_HOST vo wp-config.php s hodnotami v paneli poskytovateľa hostingu.Pri každej zobrazenej stránke WordPress otvorí spojenie so svojou databázou MySQL alebo MariaDB pomocou štyroch údajov zapísaných vo wp-config.php, v koreňovom adresári webu:
define( 'DB_NAME', 'nazov_databazy' );
define( 'DB_USER', 'pouzivatel' );
define( 'DB_PASSWORD', 'heslo' );
define( 'DB_HOST', 'localhost' );
„Chyba pri nadväzovaní spojenia s databázou“ znamená, že toto spojenie zlyhalo. Spôsobujú to štyri príčiny: prihlasovacie údaje, ktoré už nesedia, databázový server zastavený alebo nedostupný, preťažený server alebo poškodená databáza. Nasledujúce časti ich prechádzajú od tej, ktorá sa overuje najľahšie, po tú najzriedkavejšiu.
Ak je príčinou server, otvorte u poskytovateľa hostingu tiket s časom začiatku výpadku a presným hlásením. Na webe medzitým netreba nič meniť.
Toto je najčastejšia príčina po presťahovaní webu, po zmene hesla k databáze v paneli poskytovateľa hostingu alebo po obnovení zo zálohy. Porovnajte štyri hodnoty vo wp-config.php s časťou o databázach u vášho poskytovateľa hostingu:
DB_NAME a DB_USER: mnohí poskytovatelia hostingu k nim pridávajú predponu s názvom účtu (ucet_wordpress). Predpona je súčasťou názvu.DB_PASSWORD: ak si nie ste istí, nastavte používateľovi v paneli nové heslo a zapíšte ho do súboru.DB_HOST: u mnohých poskytovateľov localhost, u niektorých iná hodnota: názov servera alebo adresa, niekedy s portom (:3306). Presná hodnota je uvedená v paneli.Heslo, ktoré obsahuje apostrof ('), preruší reťazec PHP, ktorý ho vo wp-config.php ohraničuje. Pred apostrof vložte spätnú lomku (\') alebo zvoľte heslo bez apostrofu.
WordPress zobrazuje všeobecné hlásenie. MySQL presne povie, čo nie je v poriadku. Dva spôsoby, ako sa ho opýtať s hodnotami z wp-config.php:
mysql -h localhost -u pouzivatel -p nazov_databazy
S WP-CLI príkaz wp db check načíta priamo wp-config.php a skontroluje tabuľky s týmito prihlasovacími údajmi.
Uložte tento súbor do koreňového adresára webu pod ťažko uhádnuteľným názvom, otvorte ho v prehliadači a hneď ho zmažte: obsahuje heslo k databáze.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$spojenie = @mysqli_connect('localhost', 'pouzivatel', 'heslo', 'nazov_databazy');
echo $spojenie ? 'Spojenie úspešné' : 'Zlyhanie: ' . mysqli_connect_error();
Prvý riadok je dôležitý: od PHP 8.1 neúspešné pripojenie predvolene vyvolá výnimku a stránka by zostala biela namiesto toho, aby zobrazila hlásenie MySQL.
| MySQL odpovie | Príčina | Oprava |
|---|---|---|
Access denied for user 'pouzivatel'@'localhost' (using password: YES) | Dvojica používateľ a heslo je odmietnutá, alebo používateľ nemá právo pripojiť sa z tohto hostiteľa. | Nastaviť nové heslo v paneli a zapísať ho do DB_PASSWORD; overiť DB_USER. |
Access denied for user 'pouzivatel'@'localhost' to database 'nazov_databazy' | Používateľ sa pripojí, ale k tejto databáze nemá práva. | Priradiť používateľa k databáze v paneli poskytovateľa hostingu, so všetkými oprávneniami. |
Unknown database 'nazov_databazy' | Pripojenie funguje, ale databáza s týmto názvom neexistuje. | Opraviť DB_NAME vrátane predpony; overiť, že databáza stále existuje. |
Too many connections | Server dosiahol maximálny počet súbežných pripojení. | Pozrite si časť o občasných chybách. |
Connection refused alebo No such file or directory (kód 2002 z PHP), Can't connect to MySQL server (z príkazového riadka) | Na tejto adrese neodpovedá žiadny server: server je zastavený alebo je DB_HOST nesprávny. | Overiť DB_HOST v paneli; inak upozorniť poskytovateľa hostingu. |
Spojenie úspešné | Prihlasovacie údaje sú správne. | Hľadať príčinu v samotnej databáze: nasledujúca časť. |
Keď sú prihlasovacie údaje správne, ale niektoré tabuľky sú poškodené, verejný web zobrazí rovnaké hlásenie o chybe spojenia a administrácia presnejšie hlásenie: „Jedna alebo viac databázových tabuliek sú nedostupné. Databáza môže potrebovať opraviť.“ WordPress na to poskytuje nástroj. Pridajte tento riadok do wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Potom otvorte https://www.vas-web.com/wp-admin/maint/repair.php a spustite „Opraviť databázu“. Riadok odstráňte hneď po skončení opravy: kým je v súbore, táto stránka je dostupná komukoľvek, bez prihlásenia.
Pred akoukoľvek opravou urobte export databázy (wp db export alebo export v phpMyAdmin). Ak oprava zlyhá, poskytovateľ hostingu môže databázu obnoviť zo svojich záloh.
Chyba, ktorá sa objavuje v určitých hodinách a potom sama zmizne, naznačuje skôr preťažený server než nesprávne nastavenie. Najčastejšie príčiny:
wp-login.php alebo xmlrpc.php, viditeľné v prístupových logoch poskytovateľa hostingu.Riešenia: blokovať zneužívajúce pokusy o prihlásenie, nainštalovať cache stránok, vypnúť xmlrpc.php, ak ho nepoužíva žiadna aplikácia, a vyžiadať si od poskytovateľa hostingu logy z obdobia chyby.
So Serenity by Simafri vytvoríme vašu profesionálnu webovú stránku, hostujeme ju, zabezpečíme ju a udržiavame aktuálnu. Vy nám napíšete, my sa postaráme o všetko. Doménové meno a firemný e-mail v cene.
Zvyčajne áno. Hlásenie hovorí, že WordPress sa nedokázal pripojiť k databáze, nie že databáza zmizla. Ak phpMyAdmin stále zobrazuje tabuľky webu, vaše stránky, články a nastavenia sú na mieste.
Pretože nový hosting používa iné prihlasovacie údaje k databáze: názov databázy, používateľa, heslo a niekedy aj adresu servera. Hodnoty z nového panela zapíšte do DB_NAME, DB_USER, DB_PASSWORD a DB_HOST vo wp-config.php.
Preinštalovanie WordPressu ponechá prihlasovacie údaje vo wp-config.php aj stav databázového servera tak, ako sú, a práve tie sú príčinami tohto hlásenia. Najprv otestujte prihlasovacie údaje, potom stav servera a potom celistvosť tabuliek.
Skôr z preťaženia než z nastavenia: príliš veľa súbežných pripojení, špička návštevnosti alebo roboty. Prístupové logy a spotreba prostriedkov v paneli poskytovateľa hostingu ukážu, čo sa dialo v čase chyby.
Simafri
Porozprávajme sa o vašom zámere
Povedzte nám v pár slovách, čo potrebujete: rýchlo sa vám ozveme.
Ďakujeme! Vaša žiadosť bola odoslaná. Čoskoro sa vám ozveme.
Máte radšej e-mail? Napíšte nám na support@simafri.com.