Kratak odgovor
Ova greška znači da WordPress ne može da se poveže sa MySQL bazom, pa ne može ni da učita sajt. Najčešći krivci su pogrešni podaci u `wp-config.php`, nedostupan MySQL server ili obrisan korisnik baze. Proverite podatke o bazi, pa tek onda popravljajte tabele.
Kako se problem prepoznaje
- Sajt prikazuje poruku „Error establishing a database connection“ ili „Greška pri uspostavljanju veze sa bazom“
- Ne možete da se prijavite na `/wp-admin`, prikazuje se ista greška
- Sajt je radio do juče, a sada je potpuno nedostupan
- Greška se pojavila posle izmene lozinke ili selidbe sajta na drugi hosting
Najčešći uzroci
Pogrešni podaci u wp-config.php
Ime baze, korisnik, lozinka ili host su izmenjeni ili pogrešno prepisani. WordPress tada ne može da se prijavi na MySQL server.
MySQL server nije dostupan
Server baze je pao, restartovan je ili je dostigao limit konekcija. U tom slučaju greška pogađa sve sajtove na istom hostingu.
Korisnik baze je obrisan ili mu je promenjena lozinka
Neko je u panelu hostinga obrisao korisnika, uklonio mu privilegije ili promenio lozinku, a `wp-config.php` nije ažuriran.
Oštećena ili nepotpuna baza
Prekinut uvoz, pad diska ili neuspeo backup mogu da ostave bazu u stanju u kome se WordPress ne može povezati.
Pogrešan host ili port
Posle selidbe na drugi server ostane stari `DB_HOST`, na primer `localhost` umesto imena servera koje hosting zahteva.
Rešenje korak po korak
- 1
Zabeležite tačnu poruku o grešci
Otvorite sajt i prepišite celu poruku, uključujući eventualni broj greške. Ako je vidljiva samo opšta poruka, sačuvajte kopiju
wp-config.php, pa privremeno uključite prikaz grešaka linijamadefine('WP_DEBUG', true);idefine('WP_DEBUG_DISPLAY', true);. Ovo radite samo na kratko i ne na javnom sajtu, jer poruke mogu da vide posetioci; posle ih obavezno isključite. Tačan tekst uveliko sužava uzrok. - 2
Proverite da li je MySQL server živ
U panelu hostinga (cPanel, Plesk ili slično) ili na statusnoj stranici hostinga proverite da li je MySQL servis dostupan i da li je dostignut limit resursa. Ako je server pao ili je dostignut limit konekcija, sačekajte oporavak ili kontaktirajte podršku hostinga. Ako drugi sajtovi na istom hostingu rade, problem je verovatno u vašoj bazi.
- 3
Otvorite wp-config.php i proverite podatke
Preko FTP klijenta ili upravljača fajlovima u panelu otvorite
wp-config.phpu korenu sajta. Uporedite vrednostiDB_NAME,DB_USER,DB_PASSWORDiDB_HOSTsa podacima u panelu hostinga. Obratite pažnju na razmake, velika i mala slova i na to da li je lozinka u navodnicima. - 4
Proverite korisnika baze i privilegije
U panelu hostinga otvorite deo za MySQL baze i korisnike. Uverite se da korisnik iz
wp-config.phppostoji, da je dodeljen baš toj bazi i da ima sve privilegije. Ako nije, dodelite ga ponovo ili resetujte lozinku i upišite novu uwp-config.php. - 5
Proverite DB_HOST i port
Ako hosting koristi poseban server baze,
DB_HOSTnijelocalhost, već ime ili IP adresa koju vam je hosting dao, ponekad sa portom u oblikuime_servera:3306. Potražite tačnu vrednost u dokumentaciji hostinga ili u panelu i prepišite je uwp-config.php. - 6
Napravite rezervnu kopiju pre daljih izmena
Pre nego što dirate bazu, preuzmite kopiju fajlova i izvezite bazu preko phpMyAdmin ili alata hostinga. Sačuvajte i kopiju
wp-config.php. Tako možete da se vratite na prethodno stanje ako nešto pođe naopako. - 7
Proverite da li baza i tabele postoje
U phpMyAdminu proverite da li baza sa imenom iz
wp-config.phppostoji i da li sadrži tabele sa prefiksom koji odgovara$table_prefix. Ako su tabele prazne ili nedostaju, baza je verovatno obrisana ili je uvoz bio neuspešan. - 8
Popravite tabele ako su oštećene
U phpMyAdminu označite tabele, pa izaberite opciju za popravku (
Repair table). Ako popravka ne pomogne, vratite bazu iz poslednjeg backupa. Posle vraćanja ponovo proverite podatke uwp-config.php. - 9
Testirajte sajt i isključite debug
Otvorite sajt i
/wp-adminu anonimnom prozoru pregledača. Ako se učitava, ukloniteWP_DEBUGiWP_DEBUG_DISPLAYlinije ili ih postavite nafalse. Ako greška ostaje, vratite se na korak sa proverom korisnika i hosta.
Ako ništa ne pomogne
Ako su podaci u wp-config.php tačni, korisnik i privilegije ispravni, a baza postoji, problem je najverovatnije na strani servera. U tom slučaju otvorite tiket kod hostinga i navedite tačnu poruku greške, vreme kada je počela i da li ste nešto menjali neposredno pre toga. Ako je baza oštećena, hosting može da vrati poslednji backup, ali ćete izgubiti sadržaj nastao posle njega. Za sajtove sa WooCommerce-om proverite i da li je baza dostigla limit veličine ili broja konekcija, jer tada greška počinje da se javlja povremeno, pa tek onda stalno.
Kako da sprečite da se ponovi
- Redovno pravite automatizovane rezervne kopije baze i fajlova i proveravajte da li uspešno mogu da se vrate
- Ne menjajte lozinku korisnika baze bez istovremene izmene u `wp-config.php`
- Vodite evidenciju o podacima baze pre svake selidbe sajta
- Pratite iskorišćenost MySQL resursa i broj konekcija u panelu hostinga
Kada je bolje pozvati stručnjaka
Ako ne možete da pristupite panelu hostinga, ne znate tačne podatke o bazi ili je baza oštećena, bolje je da se obratite IT podršci nego da sami menjate tabele i rizikujete gubitak podataka.
Izrada sajtova · Brzi, SEO optimizovani sajtovi na više jezikaČesta pitanja
Da li greška sa bazom znači da je sajt trajno izgubljen?
Ne. U većini slučajeva sajt i sadržaj su netaknuti, samo WordPress ne može da se poveže sa bazom. Ako se podaci u `wp-config.php` i korisnik baze poklope, sajt se vraća bez gubitka sadržaja.
Kako da znam da li je problem u mojoj bazi ili na serveru?
Ako drugi sajtovi na istom hostingu rade, problem je u vašoj bazi ili podacima za pristup. Ako ne rade ni oni, verovatno je pao MySQL server i tu pomaže samo hosting podrška.
Mogu li da popravim bazu bez phpMyAdmina?
Možete ako hosting nudi alat za popravku baze u panelu ili ako imate pristup komandnoj liniji. Bez toga je najsigurnije da vratite bazu iz backupa ili da zamolite hosting da to uradi.