Kapitola 18 · 18.6
„Error establishing a database connection“
Hlášení Error establishing a database connection (v češtině přibližně Chyba při navazování připojení k databázi) znamená, že Váš web se nemůže k databázi připojit nebo se k ní nemůže přihlásit. Vaše soubory jsou stále na místě a databáze obvykle také. V devíti z deseti případů je problém v údajích, které Váš web používá k přihlášení.
Příčiny, od nejčastější po nejvzácnější
1. Údaje v konfiguračním souboru neodpovídají
Toto se stává hlavně po přestěhování, nové instalaci nebo změně hesla. Zkontrolujte to takto:
- Otevřete v DirectAdmin Databáze. Zde uvidíte úplný název Vaší databáze a uživatele, kteří jsou k ní přiřazeni (viz Vytvoření databáze a Uživatelé databáze, oprávnění a hesla).
- Otevřete ve Správci souborů konfigurační soubor Vašeho webu. U WordPressu je to soubor wp-config.php ve složce public_html.
- Porovnejte tyto čtyři hodnoty:
- DB_NAME: úplný název databáze, včetně Vašeho uživatelského jména DA a podtržítka před ním, například wtsilefl_shop.
- DB_USER: úplný název databázového uživatele, rovněž s touto předponou.
- DB_PASSWORD: heslo tohoto databázového uživatele. Nejedná se o Vaše heslo DA.
- DB_HOST: localhost.
Nejste si jisti heslem? Nastavte databázovému uživateli v DirectAdmin nové heslo a totéž heslo zadejte do souboru wp-config.php. Dávejte pozor na uvozovky a mezery.
U jiných systémů se soubor jmenuje jinak, například configuration.php u Joomla, app/config/parameters.php u PrestaShop nebo .env u Laravel.
2. Uživatel není (již) přiřazen k databázi
Databázový uživatel musí mít k databázi práva. V sekci Databáze zkontrolujte, zda je uživatel přiřazen ke správné databázi. Pokud ne, přiřaďte jej znovu (viz Uživatelé databáze, oprávnění a hesla).
3. Databáze je prázdná nebo nebyla naimportována
Pokud jste přestěhovali svůj web, zkontrolujte v phpMyAdmin, zda jsou v databázi skutečně tabulky (viz Otevření a používání phpMyAdmin). Pokud tabulky chybí, naimportujte databázi znovu (viz Import databáze, i velkých souborů).
4. Poškozené tabulky
Zobrazuje se Vám hlášení jen občas, nebo WordPress hlásí, že jedna nebo více tabulek není dostupná? Zkontrolujte a opravte databázi (viz Kontrola, oprava a optimalizace databáze).
5. Příliš mnoho připojení
Vidíte v chybovém logu hlášení Too many connections nebo max_user_connections? Pak se Váš web připojuje k databázi příliš mnohokrát najednou, často kvůli vytíženému nebo nesprávně fungujícímu pluginu nebo kvůli botům. Přečtěte si Moje webová stránka je pomalá.
6. Úložiště je plné
Plný prostor na disku může způsobit potíže i databázi. Podívejte se na nástěnce do sekce Prostor na disku (viz Úložiště je plné: kde se nachází volný prostor?).
7. Výpadek
Velmi vzácně je příčinou samotný databázový server. Podívejte se na stránku Výpadky a údržba, zda se něco neděje.
Ověření, zda jsou údaje správné
Pokud v phpMyAdmin v DirectAdmin vidíte tabulky, databáze existuje a je na svém místě. Pokud se hlášení přesto stále zobrazuje, problém je téměř jistě v konfiguračním souboru Vašeho webu.
Tip: Fungovalo to ještě včera a nevíte, co se změnilo? Pomocí WebOké Backups v Mijn WebOké můžete umístit databázi z dřívějšího okamžiku jako kopii vedle té aktuální, pod novým názvem. Takto je můžete bez rizika porovnat (viz Jde to i v Mijn WebOké? WebOké Backups).
