Otvoreno Pon - Pet 09:00-16:00

Kako popraviti grešku Error Establishing a Database Connection u WordPress-u

Baza podataka je najbitnija kod WordPress-a. Greška Uspostavljanje veze sa bazom podataka (Error Establishing a Database Connection) je jedna od onih grešaka koje mogu biti uzrokovane mnogim razlozima. Ako ste već neko vrijeme surfali na internetu, barem jednom ste vidjeli ovu grešku.

Baze podataka

Kao početnik WordPress-a, ovo bi za Vas moglo biti užasno frustrirajuće posebno kada bi se to dogodilo odjednom. Imali smo te probleme i na našim stranicama, ništa strašno. Dok smo radili istraživanje da pronađemo moguće uzroke greške, shvatili smo da nema dobrih članaka koji su  pokrivali sve uzroke greški.

U ovom članku ćemo Vam pokazati kako ispraviti grešku u uspostavljanju veze u bazi podataka u WordPress-u tako što ćemo na jednom mjestu sastaviti listu rješenja.

Napomena: Prije nego što izvršite izmjene u bazi podataka, provjerite da li imate dovoljno rezervnih kopija baza podataka ili Backup web stranice.

Zašto dobijate ovu grešku?

Ukratko, dobijate ovu grešku jer WordPress nije uspio uspostaviti vezu sa Vašom bazom podataka. Razlog zašto WordPress nije u mogućnosti uspostaviti vezu sa bazom podataka može se razlikovati. Moglo bi se dogoditi da su Vaši podaci o prijavi za bazu podataka pogrešni ili da su promenjeni.

Možda je Vaš server baze podataka privremeno pao tj. ne radi ili ne može da se učita jer je preopterećen. Možda je Vaša baza podataka oštećena. Po našem iskustvu, u većinu slučajeva ova greška se dešava zbog nekakve greške na serveru(hostingu), međutim mogu biti i drugi faktori. Hajde da pogledamo kako da rješimo ovaj problem.

Da li se greška pojavljuje i za / wp-admin /?

Prva stvar koju treba da uradite je da se uvjerite da ste dobili istu grešku na prednjoj strani sajta(npr početnoj stranici) i na ulaz u administraciju (wp-admin). Ako je greška ista “Greška u uspostavljanju veze baze podataka”, pređite na sljedeći korak.

Ako na wp-admin dobijate drugačiju grešku npr. Nešto poput “Jedne ili više tabela baze podataka nisu dostupne. Baza podataka treba popravak” (One or more database tables are unavailable. The database may need to be repaired), tada morate popraviti svoju bazu podataka.

To možete učiniti dodavanjem sljedeće linije u svojoj wp-config.php datoteki. Dodajte je prije ‘That’s all, stop editing! Happy blogging’ linije wp-config.php.

1 define ('WP_ALLOW_REPAIR', true);

Kada to učinite, možete pogledati postavke tako što ćete posjetiti ovu stranicu: http://www.vasa-stranica.com/wp-admin/maint/repair.php

Baza podataka

Zapamtite, korisnik ne mora biti prijavljen da bi pristupio ovoj funkciji, kada je to u wp-config.php postavljeno. To je zato što je njegova glavna namjera da popravi korumpiranu bazu podataka, a korisnici se često ne prijavljuju kada je baza podataka korumpirana. Dakle, jednom kad završite popravku i optimizaciju svoje baze podataka, obavezno uklonite 1 define ('WP_ALLOW_REPAIR', true); iz Vašeg wp-config.php.

Ako Vam ova popravka nije rješila problem ili imate problem sa pokretanjem popravke, nastavite sa čitanjem ovog članka jer možete pronaći drugo rješenje.

Provjera WP-Config datoteke

WP-Config.php je vjerovatno najvažniji fajl u Vašoj cijeloj WordPress stranici. Ovdje se upisuju detalji za WordPress da biste ga povezali na svoju bazu podataka. Ako ste promjenili lozinku root(glavnu) ili korisničku lozinku baze podataka, onda ćete morati promijeniti i ovu datoteku. Prvo što uvek treba da proverite jeste li sve u vašoj wp-config.php datoteki isto.

1 define ('DB_NAME', 'ime-baze podataka');
2 define ('DB_USER', 'database-username');
3 define ('DB_PASSWORD', 'lozinka-baze podataka');
4 define ('DB_HOST', 'localhost');

Zapamtite da DB_Host vrijednost možda nije uvijek localhost. U zavisnosti od Vašeg hosta, to će biti drugačije. Za popularne hostove kao što su HostGator, BlueHost, Site5 i mnoge druge to je localhost (u većini slučajeva). Ovdje možete pronaći druge vrijednosti (u izradi).

Neki su sugerisali da su rješili svoj problem zamjenom “localhost” sa IP adresom servera. Uobičajeno je vidjeti ovakvu vrstu problema kada pokrećete WordPress u lokalnom okruženju servera.

1 define ('DB_HOST', '127.0.0.1:8889');

IP će se razlikovati između web hosting provajdera.

Ako je sve u ovoj datoteci tačno (obavezno provjerite greške), onda je fer da kažemo da na serveru nešto nije u redu.

Provjerite svoj web hosting (MySQL baza podataka server)

Često ćete primjetiti ovu grešku u uspostavljanju veze baze podataka kada se Vaša web stranica suoči sa velikim prometom. U osnovi, Vaš server host jednostavno ne može upravljati opterećenjem (posebno kada ste na zajedničkom hostingu(shared hosting). Vaša stranica će biti stvarno spora, a za neke korisnike čak i izlazi greška. Dakle, najbolja stvar koju treba da uradite je da kontaktirate e-mailom ili na telefon Vašeg provajdera hostinga i pitate ih da li je Vaš MySQL server u funkciji.

Za one korisnike koji žele da ručno testiraju MySQL server, možete uraditi nekoliko stvari. Testirajte druge sajtove na istom serveru da biste vidjeli da li imaju problem. Ako i oni dobiju istu grešku, onda definitivno nešto nije uredu sa Vašim MySQL serverom.

Ako nemate ni jednu drugu stranicu na ovom istom hosting računu, jednostavno idite u svoj cPanel i pokušajte da pristupite phpMyAdmin-u i povežete se u bazu podataka. Ako se možete povezati, onda moramo potvrditi da li Vaš korisnik baze podataka ima dovoljno dozvola. Kreirajte novu datoteku pod nazivom testconnection.php i ukucajte sljedeći kod:

<?php
$link = mysql_connect('localhost', 'root', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

Obavezno zamjenite korisničko ime i lozinku. Ako je uspješno povezano, onda to znači da Vaš korisnik ima dovoljne dozvole za pristup, a nešto drugo nije uredu. Vratite se u svoju WP-config datoteku kako biste bili sigurni da je sve tačno (ponovno skeniranje grešaka).

Ako ne možete da se povežete sa bazom podataka kada idete na phpMyAdmin, onda znate da je to nešto sa Vašim serverom. Ne znači baš da je Vaš MySQL server pao. To može značiti da Vaš korisnik nema dovoljne dozvole.

Dakle, ako dobijete grešku u pristupu na phpMyAdmin ili testconnection.php, odmah se obratite svom web hosting provajderu.

Rješenja koja su radila za druge korisnike

Važno je napomenuti da to možda neće raditi kod Vas. Koristite na sopstveni rizik i uvjerite se da imate dovoljno rezervnih kopija ako nešto krene naopako.

Jedan korisnik je rekao da je njegov klijent dobijao upozorenje da bi bazu podataka trebalo popraviti. Čak i nakon popravke baze podataka, greška nije nestala. Probao je razne stvari, a na kraju je problem bio url stranice. Očigledno je to nekako promjenjeno ili je neko promjenio što je uzrokovalo grešku. Pokrenuo je SQL upit, otišao je na phpMyAdmin:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Obavezno zamjenite YOUR_SITE_URL sa stvarnim URL-om Vaše stranice.
Primjer: http://www.google.ba/
wp_options će biti drugačiji ako ste promjenili default prefiks baze podataka WordPress-a.

To je izgleda rješilo pitanje za njega i nekoliko drugih koji su komentarisali.

Jedan korisnik je rekao da je uklonio sadržaj active_plugins u tabeli wp_options i zatim uredilo sadržaj u recenty_edited. U suštini to je izgleda popravilo problem.

Mnogi korisnici su jednostavno uploadovali novu kopiju WordPress-a i popravili grešku.

Ovo je stvarno frustrirajuća greška. Šta ste Vi pokušali i šta je radilo za Vas? Bit će nam zadovoljstvo da proširimo ovaj tekst, tako da drugi ne moraju da troše toliko vremena kako bi pronašli rješenje.

Autor članka

Bavim se izradom, razvijanjem kao i dizajnom web stranica već od 2009. godine. Za više informacija možete me kontakirati na Instagram @mamija

Ostavi komentar