Chyba při navazování připojení k databázi (Error establishing a database connection)
WordPress se nedostane k databázi. Jak zjistit, zda jde o server, špatné údaje ve wp-config.php nebo poškozenou databázi, a jak to opravit.
4 minuty čtení 7 kroků
Místo webu se zobrazí jediná věta: „Chyba při navazování připojení k databázi“, anglicky „Error establishing a database connection“. WordPress se dostal k souborům, ale ne k datům. Vypadá to hrozivě, obsah ale obvykle nikam nezmizel, web se k němu jen nedostane. Příčiny jsou tři a vyplatí se je zkoušet v tomto pořadí.
Možné příčiny
- Databázový server je dočasně nedostupný nebo přetížený. Web se po chvíli rozběhne sám.
- Web má špatné přihlašovací údaje. Typicky po přestěhování webu, po změně hesla k databázi nebo po obnově zálohy z jiného serveru.
- Databáze je poškozená. Některé tabulky jsou rozbité po nedokončené aktualizaci nebo výpadku. Poznáte to tak, že administrace hlásí jinou chybu než veřejná část, nebo chybí jen část obsahu.
Postup řešení
- Počkejte pět minut a stránku obnovte. Pokud web naskočí sám, šlo o krátkodobý výpadek nebo přetížení databázového serveru. Když se to opakuje, poznamenejte si čas a napište podpoře.
- Přihlaste se do phpMyAdmin z klientské sekce u vaší domény. Pokud se nepřipojí ani phpMyAdmin, je problém na straně serveru a řeší ho podpora. Pokud se připojí a vidíte tabulky, pokračujte dalším krokem.
- Připojte se přes FTP a ve složce
webotevřete souborwp-config.php. Najděte řádky:
Porovnejte je s údaji, které najdete v klientské sekci u domény v sekci Databáze (viz Kde najdu přihlašovací údaje k databázi). Dodefine( 'DB_NAME', 'nazev_databaze' ); define( 'DB_USER', 'uzivatel' ); define( 'DB_PASSWORD', 'heslo' ); define( 'DB_HOST', 'localhost' );DB_HOSTzadejte server přesně tak, jak ho uvádí klientská sekce, ne automatickylocalhost. - Zkontrolujte časté překlepy: mezera na konci hesla, staré heslo po jeho změně, název databáze bez předpony nebo s předponou navíc. Soubor uložte a web obnovte.
- Pokud údaje sedí a chyba trvá, spusťte vestavěnou opravu WordPressu. Do
wp-config.phpnad řádek/* That's all, stop editing! */přidejte:
Otevřete adresudefine( 'WP_ALLOW_REPAIR', true );https://vasedomena.cz/wp-admin/maint/repair.phpa zvolte „Opravit databázi“. - Po dokončení opravy řádek s
WP_ALLOW_REPAIRzwp-config.phpzase smažte. Stránka opravy je jinak dostupná komukoli bez přihlášení. - Pokud oprava nepomůže, požádejte podporu o obnovu databáze ze zálohy. Datahost zálohuje denně, přijdete jen o obsah přidaný po datu zálohy.
Před úpravou souboru wp-config.php si stáhněte jeho kopii. Chybná uvozovka nebo středník v tomto souboru web zastaví úplně.
Co zkontrolovat, když nic nepomohlo
- Vyčerpaný diskový prostor. Databáze nemůže zapisovat a web hlásí chybu připojení. Prostor obvykle zaplní logy, zálohy uložené přímo na webhostingu nebo tisíce náhledů obrázků. Obsazené místo vám sdělí podpora.
- Vyčerpaný počet spojení. Doplněk nebo robot zabral všechna dostupná spojení do databáze. V error logu bývá hláška „Too many connections“.
- Napadení. Útočník někdy přepíše
wp-config.phpnebo změní přístupové údaje. Pokud jsou v souboru změny, které jste nedělali, postupujte podle návodu Co dělat, když byl WordPress napaden.
Kdy kontaktovat podporu
Napište na podpora@datahost.cz, když se nepřipojí ani phpMyAdmin, když údaje ve wp-config.php sedí a chyba přesto trvá, když potřebujete obnovit databázi ze zálohy, nebo když se výpadky opakují.
Do zprávy uveďte:
- doménu a název databáze (nikdy neposílejte heslo v e-mailu),
- čas, kdy se chyba objevila, a zda se opakuje,
- co jste před tím měnili (stěhování, změna hesla, obnova zálohy, aktualizace),
- zda se vám daří přihlásit do phpMyAdmin,
- datum, ke kterému chcete databázi obnovit, pokud žádáte o obnovu.
Kromě denních záloh Datahostu si exportujte databázi i sami před každou větší změnou webu a uložte ji mimo webhosting.