Кратак одговор
Ова грешка значи да WordPress не може да се повеже са MySQL базом, па не може ни да учита сајт. Најчешћи кривци су погрешни подаци у `wp-config.php`, недоступан MySQL server или обрисан корисник базе. Проверите податке о бази, па тек онда поправљајте табеле.
Како се проблем препознаје
- Сајт приказује поруку „Еррор естаблисхинг а датабасе цоннецтион“ или „Грешка при успостављању везе са базом“
- Не можете да се пријавите на `/wp-admin`, приказује се иста грешка
- Сајт је радио до јуче, а сада је потпуно недоступан
- Грешка се појавила после измене лозинке или селидбе сајта на други хостинг
Најчешћи узроци
Погрешни подаци у wp-config.php
Име базе, корисник, лозинка или хост су измењени или погрешно преписани. WordPress тада не може да се пријави на MySQL server.
MySQL server није доступан
Server базе је пао, рестартован је или је достигао лимит конекција. У том случају грешка погађа све сајтове на истом хостингу.
Корисник базе је обрисан или му је промењена лозинка
Неко је у панелу хостинга обрисао корисника, уклонио му привилегије или променио лозинку, а `wp-config.php` није ажуриран.
Оштећена или непотпуна база
Прекинут увоз, пад диска или неуспео backup могу да оставе базу у стању у коме се WordPress не може повезати.
Погрешан хост или порт
После селидбе на други server остане стари `DB_HOST`, на пример `localhost` уместо имена сервера које хостинг захтева.
Решење корак по корак
- 1
Забележите тачну поруку о грешци
Отворите сајт и препишите целу поруку, укључујући евентуални број грешке. Ако је видљива само општа порука, сачувајте копију
wp-config.php, па привремено укључите приказ грешака линијамаdefine('WP_DEBUG', true);иdefine('WP_DEBUG_DISPLAY', true);. Ово радите само на кратко и не на јавном сајту, јер поруке могу да виде посетиоци; после их обавезно искључите. Тачан текст увелико сужава узрок. - 2
Проверите да ли је MySQL server жив
У панелу хостинга (cPanel, Plesk или слично) или на статусној страници хостинга проверите да ли је MySQL сервис доступан и да ли је достигнут лимит ресурса. Ако је server пао или је достигнут лимит конекција, сачекајте опоравак или контактирајте подршку хостинга. Ако други сајтови на истом хостингу раде, проблем је вероватно у вашој бази.
- 3
Отворите wp-config.php и проверите податке
Преко FTP клијента или управљача фајловима у панелу отворите
wp-config.phpу корену сајта. Упоредите вредностиDB_NAME,DB_USER,DB_PASSWORDиDB_HOSTса подацима у панелу хостинга. Обратите пажњу на размаке, велика и мала слова и на то да ли је лозинка у наводницима. - 4
Проверите корисника базе и привилегије
У панелу хостинга отворите део за MySQL базе и кориснике. Уверите се да корисник из
wp-config.phpпостоји, да је додељен баш тој бази и да има све привилегије. Ако није, доделите га поново или ресетујте лозинку и упишите нову уwp-config.php. - 5
Проверите DB_HOST и порт
Ако хостинг користи посебан server базе,
DB_HOSTнијеlocalhost, већ име или IP адреса коју вам је хостинг дао, понекад са портом у обликуime_servera:3306. Потражите тачну вредност у документацији хостинга или у панелу и препишите је уwp-config.php. - 6
Направите резервну копију пре даљих измена
Пре него што дирате базу, преузмите копију фајлова и извезите базу преко phpMyAdmin или алата хостинга. Сачувајте и копију
wp-config.php. Тако можете да се вратите на претходно стање ако нешто пође наопако. - 7
Проверите да ли база и табеле постоје
У phpMyAdminu проверите да ли база са именом из
wp-config.phpпостоји и да ли садржи табеле са префиксом који одговара$table_prefix. Ако су табеле празне или недостају, база је вероватно обрисана или је увоз био неуспешан. - 8
Поправите табеле ако су оштећене
У phpMyAdminu означите табеле, па изаберите опцију за поправку (
Repair table). Ако поправка не помогне, вратите базу из последњег бацкупа. После враћања поново проверите податке уwp-config.php. - 9
Тестирајте сајт и искључите дебуг
Отворите сајт и
/wp-adminу анонимном прозору прегледача. Ако се учитава, уклонитеWP_DEBUGиWP_DEBUG_DISPLAYлиније или их поставите наfalse. Ако грешка остаје, вратите се на корак са провером корисника и хоста.
Ако ништа не помогне
Ако су подаци у wp-config.php тачни, корисник и привилегије исправни, а база постоји, проблем је највероватније на страни сервера. У том случају отворите тикет код хостинга и наведите тачну поруку грешке, време када је почела и да ли сте нешто мењали непосредно пре тога. Ако је база оштећена, хостинг може да врати последњи backup, али ћете изгубити садржај настао после њега. За сајтове са WooCommerce-om проверите и да ли је база достигла лимит величине или броја конекција, јер тада грешка почиње да се јавља повремено, па тек онда стално.
Како да спречите да се понови
- Редовно правите аутоматизоване резервне копије базе и фајлова и проверавајте да ли успешно могу да се врате
- Не мењајте лозинку корисника базе без истовремене измене у `wp-config.php`
- Водите евиденцију о подацима базе пре сваке селидбе сајта
- Пратите искоришћеност MySQL ресурса и број конекција у панелу хостинга
Када је боље позвати стручњака
Ако не можете да приступите панелу хостинга, не знате тачне податке о бази или је база оштећена, боље је да се обратите IT подршци него да сами мењате табеле и ризикујете губитак података.
Израда сајтова · Брзи, SEO оптимизовани сајтови на више језикаЧеста питања
Да ли грешка са базом значи да је сајт трајно изгубљен?
Не. У већини случајева сајт и садржај су нетакнути, само WordPress не може да се повеже са базом. Ако се подаци у `wp-config.php` и корисник базе поклопе, сајт се враћа без губитка садржаја.
Како да знам да ли је проблем у мојој бази или на серверу?
Ако други сајтови на истом хостингу раде, проблем је у вашој бази или подацима за приступ. Ако не раде ни они, вероватно је пао MySQL server и ту помаже само хостинг подршка.
Могу ли да поправим базу без phpMyAdmina?
Можете ако хостинг нуди алат за поправку базе у панелу или ако имате приступ командној линији. Без тога је најсигурније да вратите базу из бацкупа или да замолите хостинг да то уради.