Kako rešiti Error establishing a database connection poruku na sajtu. Idi do glavnog sadržaja

Kako rešiti grešku “Error establishing a database connection” kod WordPress sajta

Ako ste vlasnik sajta ili se bavite izradom sajtova, verovatno vam se bar jednom dogodilo da na u nekom trenutku pročitate na monitoru poruku “Error establishing a database connection”. Pritom vam u tom momentu sajt uopšte nije dostupan. Ni vama a ni posetiocima. Ako ste se susreli sa ovom porukom, onda i znate da je u pitanju je jedno veoma frustrirajuće iskustvo, pogotovo ako se prvi put susrećete sa  tim. Srećom postoji rešenje i mi ćemo danas objasniti kako da na jednostavan način popravite tu grešku.

Pre svega važno je da znamo odakle uopšte ta greška.

Ukratko rečeno, u momentu kada se ova poruka pojavi na vašem monitoru, to znači da vaš WordPress sajt ne može da uspostavi vezi sa bazom podataka na vašem sajtu. Uzrok može biti različit, ali problem uglavnom leži u nekoliko podešavanja kojima ćemo se sada detaljnije pozabaviti.

Zbog čega se javlja poruka: “Error establishing a database connection”?

Nekoliko je glavnih razloga zbog kojeg dolazi do ove greške. Razlog može biti u pogrešnim podacima koji se odnose na bazu, neispravnoj bazi ili bazi koja iz nekog razloga ne vraća odgovor na upit.

Da se ukratko podsetimo da je baza podataka softver koji služi da u njega skladištite podatke, organizujete ih i ujedno im pristupate kada god je to potrebno. Da bi vaš WordPress sajt funkcionisao, potrebno je da ima ispravnu bazu koja se odaziva na upite prema njoj, ali pre svega  i ispravne sledeće podatke za pristup bazi:

– naziv baze

– naziv korisnika baze

– lozinku za pristup bazi

– naziv servera baze

Ovi podaci se čuvaju u fajlu pod nazivom wp-config.php. Ako bilo koji od navedenih podataka nije tačan ili nije upisan, nećete moći da uspostavite konekciju sa serverom baze i dobićete poruku Error establishing a database connection.

Međutim, ovo nije jedini mogući uzrok problema. Kao što smo več pomenuli, to može biti i neispravna baza (struktura ili fajlovi) ili situacija kada server baze iz nekog razloga trenutno nije dostupan.

Zato ćemo u daljem tekstu objasniti kako da otklonite moguće uzroke i popravite grešku:

Prvo proverite vaše kredencijale za pristup bazi

Ovo je najčešći uzrok problema sa pristupom bazi. Ukoliko ste tek postavili novi sajt ili ste postojeći sajt prebacili na novi hosting / domen, morate da unesete ispravne kredencijale za pristup bazi. Često se tom prilikom desi da jednostavno ne upišete dobro podatke ili samo zaboravite da promenite npr. adresu servera baze.

Kao što smo rekli, podaci vezani za bazu podataka se čuvaju u wp-config.php fajlu. Ovaj fajl se nalazi u root-u vašeg sajta, tačnije u public_html folderu (ako ste instalirali po podrazumevanim podešavanjima).

wp-config.php se može editovati i to je sastavni deo procesa instalacije novog sajta ili migracije na novi hosting / domen. Ukoliko do sada niste editovali ovaj fajl evo kratkog upustva šta zapravo treba da menjate:

// ** MySQL settings - You can get this info from your web host ** //

/** The name of the database for WordPress */

define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */

define( 'DB_USER', 'username_here' );

/** MySQL database password */

define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */

define( 'DB_HOST', 'localhost' );

U samom fajlu ćete menjati vrednosti samo u linijama koje su označene boldovanim tekstom.

Dakle, samo vrednosti:

‘database_name_here’

‘username_here’

‘password_here’

‘localhost’

Umesto prikazanih vrednosti vi upisujete vrednosti koje se odnose na vašu bazu. Potrebni su vam naziv baze, nazv korisnika, lozinka i adresa servera baze. Uvek prvo proverite da li su ove vrendosti dobro upisane. Ukoliko nisu, onda je potrebno to ispraviti i sačuvati wp-config.php fajl.

Imajte u vidu da za adresu servera baze nekada morate konsultovati tehničku podršku kompanije koja vam pruža hosting usluge, kako biste proverili da li ste uneli ispravne podatke.

O tome kako editovati wp-config.php, upisati ove vrednosti i gde ih možete pronaći, pročitajte ovde.

Ukoliko ste radili editovanje direktno na serveru, onda je potrebno samo sačuvati izmene i zatvoriti fajl i izmene će biti sačuvane. Ukoliko ste ih radili u tekst editoru na vašem lokalnom računaru, onda je potrebno da taj fajl upload-ujete na server umesto postojećeg wp-config.php fajla, kako bi izmene mogle biti primenjene na serveru.

Nakon što ste primenili sve navedeno, pokupajte da ponovo otvorite vaš veb-sajt. Ukoliko su podaci koje ste uneli dobri, onda bi trebalo da vam se otvori početna strana vašeg sajta. Ipak, može se desiti da ponovo dobijete neku grešku (na primer “One or more database tables are unavailable. The database may need to be repaired”). Ovo znači da je potrebno da popravite vašu bazu

Popravljanje WordPress baze

Ukoliko ste dobili ovu poruku, vaša baza ima neku grešku i potrebno je popraviti je. To možete uraditi dodavanjem sledećeg koda u vaš wp-config.php fajl. Imajte samo u vidu da ga dodate na kraju fajla, odmah pre ‘That’s all, stop editing! Happy blogging’.

define('WP_ALLOW_REPAIR', true);

Ne zaboravite da sačuvate fajl da bi izmene bile primenjene.

Zatim se ulogujte na vaš sajt koristeći sledeći format:

http://nazivvašegsajta/wp-admin/maint/repair.php

(praktično na pun naziv vašeg domena dodajte /wp-admin/maint/repair.php)

Klkom na Repair Database ili Repair and Optimize Database, popravićete i optmizovati vašu bazu.

Napomena: Ne morate biti ulogovani da biste pristupili ovoj stranici. I tog razloga, kada ste oporavili i optimizovali vašu bazu , ne zaboravite da uklonite kod koji ste dodali u wp-config.php fajl!

Sada bi trebalo da možete da pristupite sajtu.

Ako i dalje postoji isti problem pogledajte preporuke ispod.

Proverite da li je sve u redu sa aplikacijom i dodacima 

Na shared hosting paketima ovu grešku najčešće možete videti ako nešto nije u redu sa samim WordPress-om, dodacima, temom, ili ste udarili u neki od sistemskih limita na paketu.
Svi shared hosting paketi imaju svoje sistemske resurse i ako udarite u neki od limita ovih resursa – ova greška vam se može pojaviti, jer je za vas hosting paket privremeno stopiran MySQL proces, i biće aktivan čim server pogasi procese koji troše više resursa.
Ukoliko imate povećane posete, ovo je greška koju vrlo lako možete videti kod sebe na sajtu. To je siguran znak da je paket koji koristite slab, da udarate u neki od limita postavljenih na vašem paketu, i potrebno je da se javite podršci, da vidimo šta tačno od resursa treba pojačati i na koji paket preći. Ako imate neku planiranu akciju, marketing kampanju, i očekujete povećane posete, svakako nam se javite, kako bi smo, makar privremeno, povećali dodeljene resurse vašem paketu, da u jeku kampanje sajt ne bude nedostupan, jer time cela akcija i kampanja gube smisao. Rado ćemo izaći u susret klijentima, i na par dana pojačati paket, kako bi sve prošlo bez muka. 
Ako greška ne nestane u par minuta – onda treba dalje istražiti samu aplikaciju, dodatke i temu koju koristite.
Ukoliko nemate povećane posete, a nešto ste ažurirali u skorije vreme – vrelo verovatno da je tu problem i da neki dodatak “divlja” i troši resurse.Probajte da isključite dodatak ili temu koju ste ažurirali, pa vidite stanje nakon toga.
Isključivanje, ako ne možete da se ulogujete u wordpress dashboard, možete odraditi kroz cPanel file manager, ili putem FTP-a (samo promenite naziv foldera dodatka ili teme za koji sumnjate da pravi problem – mozete i celom /plugins folderu privremeno promeniti ime u, recimo /old.plugins – i ako je problem otklonjen, neki od dodataka je trosio suviše resursa, pa idite sistemom eliminacije, dok ne nađete onaj koji vam pravi problem)

Na kraju vratite nazive foldera onako kako je bilo na početku, kako bi sve radilo.
Još jedna stvar koja vas moze usmeriti gde da gledate je error log fajl vašeg sajta – u njega se upisuju greške koje je aplikacija doživela.Ovaj fajl se nalazi u istom folderu u kome je smešten i vas sajt.

Ako ste uspeli u povezivanju, potrebno je da proverite da li je vaš korisnik baze ima odgovorajuće privilegije. Možete pokušati i sa kreiranjem novog fajla koji biste azvali recimo testkonekcije.php i u njega zalepiti sledeći kod:

<?php

$link = mysqli_connect('localhost', 'username', 'password');

if (!$link) {

die('Could not connect: ' . mysqli_error());

}

echo 'Connected successfully';

mysqli_close($link);

?>

Obratite pažnu samo da umesto username i password unesete koriničko ime i lozinku. Kada ste završili sačuvajte fajl i upload-ujte ovaj fajl na vaš veb-sajt i pristupite mu kroz pretraživač.

Ako se skript pravilno poveže, to onda znači da vaš korisnik ima neophodne privilegije, a da je greška u nećem drugom.

U tom slučaju vratite se u vaš wp-config.php faj i još jednom proverite da niste negde pogrešili u kucanju.

Ostala moguća rešenje problema

Ukoliko ništa od do sada navedenog nije pomoglo da rešite vaš problem sa greškama vezanim za bazu, možete probati sa sledećim:

Ažurirajte URL vašeg WordPress sajta

Pokušajte da ažurirate URL vašeg sajta koristeći phpMyAdmin. Pristupute phpMyAdmin aplikaciji preko vašeg cPanel dashboard-a i odaberite vašu WordPress bazu. Zatim odaberite SQL meni i unesite sledeći SQL query:

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

Umesto prikazanih primera URL-a unesite URL vašeg sajta i promenite wp-options u tabeli.

Restartujte Web Server

Ukoliko koristite dedicated server, local server i VPS možete probati da restartujete taj server. To će restartovati vaš veb server i server baze, što može da reši neke privremene probleme nastale na bazi.

Obratite se tehničkoj podršci

Možda i ne zvuči kao neki savet, ali nekada zaista nemate drugog izbora nego da se obratite tehničkoj podršci. Nekada jednostavno ne možete sami rešiti problem, jer nemate pun pristup i privilegije serverskoj strani vašeg sajta, a nekada prosto da biste uštedeli vreme u pokušaju da sami rešite problem.

Ipak, dobro je znati koja su moguća rešenja poruke Error establishing a database connection, što smo vam u ovom tekstu i predstavili.

Nenad Mihajlović


Ostavite odgovor