{"id":313,"date":"2026-05-15T19:33:46","date_gmt":"2026-05-15T17:33:46","guid":{"rendered":"https:\/\/gorankostic.com\/blog\/?p=313"},"modified":"2026-05-15T19:33:46","modified_gmt":"2026-05-15T17:33:46","slug":"database-recovery","status":"publish","type":"post","link":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/","title":{"rendered":"Database Recovery"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Database Recovery<\/h2>\n\n\n\n<p><strong>Excerpt:<\/strong> <br>Database recovery obuhvata vra\u0107anje, popravku ili stabilizaciju baze podataka nakon gre\u0161ke, o\u0161te\u0107enja, neuspe\u0161ne migracije, punog diska ili pogre\u0161ne intervencije. Kod produkcionih sajtova ovaj proces mora biti posebno pa\u017eljiv jer baza \u010desto sadr\u017ei porud\u017ebine, korisnike, sadr\u017eaj i poslovno va\u017ene podatke.<\/p>\n\n\n\n<p><strong>Blog \u010dlanak:<\/strong><\/p>\n\n\n\n<p>Database recovery je jedan od najosetljivijih delova oporavka sajta ili aplikacije. Dok se fajlovi \u010desto mogu relativno lako vratiti iz backup-a, baza podataka sadr\u017ei \u017eive informacije koje se stalno menjaju.<\/p>\n\n\n\n<p>Kod WordPress, WooCommerce, Joomla i custom aplikacija baza \u010duva mnogo vi\u0161e od osnovnog sadr\u017eaja. U njoj se nalaze korisnici, pode\u0161avanja, porud\u017ebine, proizvodi, forme, komentari, transakcije, plugin konfiguracije i \u010desto veliki deo poslovne logike sajta.<\/p>\n\n\n\n<p>Prvi korak u recovery procesu je utvrditi \u0161ta se ta\u010dno dogodilo. Problem mo\u017ee biti o\u0161te\u0107ena tabela, neuspe\u0161an update, gre\u0161ka u migraciji, pun disk, pogre\u0161no izvr\u0161en SQL upit, obrisani podaci ili MySQL servis koji ne mo\u017ee da se pokrene.<\/p>\n\n\n\n<p>Pre svake ozbiljne intervencije treba sa\u010duvati trenutno stanje baze. \u010cak i ako je baza ve\u0107 o\u0161te\u0107ena ili delimi\u010dno neupotrebljiva, trenutna kopija mo\u017ee biti va\u017ena za kasniju analizu ili izvla\u010denje podataka koji ne postoje u starijem backup-u.<\/p>\n\n\n\n<p>Backup je naj\u010de\u0161\u0107i izvor oporavka, ali mora se proveriti njegova sve\u017eina. Kod aktivnih sajtova stariji backup mo\u017ee zna\u010diti gubitak novih porud\u017ebina, korisni\u010dkih naloga ili poslath formi. Zato nije uvek najbolje vratiti celu bazu bez dodatne provere.<\/p>\n\n\n\n<p>Nekada je bolje oporaviti samo deo baze. Ako je problem u jednoj tabeli, jednom pluginu ili konkretnom zapisu, selektivna intervencija mo\u017ee biti sigurnija od kompletnog rollback-a. To posebno va\u017ei za e-commerce sisteme sa stalnim novim unosima.<\/p>\n\n\n\n<p>Kod punog diska baza mo\u017ee prestati da upisuje podatke, ostaviti tabele u problemati\u010dnom stanju ili spre\u010diti normalan rad MySQL-a. U takvim slu\u010dajevima prvo treba stabilizovati server, osloboditi prostor i tek onda raditi proveru baze.<\/p>\n\n\n\n<p>Migracije su \u010dest izvor database problema. Razlike u verziji MySQL-a, charset pode\u0161avanjima, collation pravilima, prefiksima tabela, URL vrednostima i veli\u010dini dump fajla mogu izazvati gre\u0161ke koje se vide tek nakon prebacivanja sajta.<\/p>\n\n\n\n<p>Recovery proces mora uklju\u010diti proveru aplikacije nakon vra\u0107anja baze. Nije dovoljno da import pro\u0111e bez gre\u0161ke; treba testirati login, frontend, administraciju, checkout, pretragu, forme, proizvode i klju\u010dne funkcije koje zavise od baze.<\/p>\n\n\n\n<p>Database recovery zahteva preciznost i strpljenje. Najva\u017eniji cilj nije samo da se baza ponovo pokrene, ve\u0107 da se sa\u010duvaju podaci, razume uzrok problema i uspostavi sigurniji sistem backup-a, migracije i odr\u017eavanja za budu\u0107e situacije.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Database recovery obuhvata vra\u0107anje, popravku ili stabilizaciju baze podataka nakon gre\u0161ke, o\u0161te\u0107enja, neuspe\u0161ne migracije, punog diska ili pogre\u0161ne intervencije. Kod produkcionih sajtova ovaj proces mora [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,18],"tags":[],"class_list":["post-313","post","type-post","status-publish","format-standard","hentry","category-recovery-optimization","category-website-recovery"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Database Recovery - Goran Kostic Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Database Recovery\" \/>\n<meta property=\"og:description\" content=\"Database recovery obuhvata vra\u0107anje, popravku ili stabilizaciju baze podataka nakon gre\u0161ke, o\u0161te\u0107enja, neuspe\u0161ne migracije, punog diska ili pogre\u0161ne intervencije. Kod produkcionih sajtova ovaj proces mora [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/\" \/>\n<meta property=\"og:site_name\" content=\"Goran Kostic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-15T17:33:46+00:00\" \/>\n<meta name=\"author\" content=\"WebixDesign\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"WebixDesign\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/\"},\"author\":{\"name\":\"WebixDesign\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\"},\"headline\":\"Database Recovery\",\"datePublished\":\"2026-05-15T17:33:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/\"},\"wordCount\":445,\"commentCount\":0,\"articleSection\":[\"RECOVERY &amp; OPTIMIZATION\",\"Website Recovery\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/\",\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/\",\"name\":\"Database Recovery - Goran Kostic Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-05-15T17:33:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/2026\\\/05\\\/15\\\/database-recovery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Database Recovery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/\",\"name\":\"Goran Kostic Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0f800bfa90359ff9d2204020d58099c8\",\"name\":\"WebixDesign\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g\",\"caption\":\"WebixDesign\"},\"sameAs\":[\"https:\\\/\\\/gorankostic.com\\\/blog\"],\"url\":\"https:\\\/\\\/gorankostic.com\\\/blog\\\/author\\\/webixdesign\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Database Recovery - Goran Kostic Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/","og_locale":"en_US","og_type":"article","og_title":"Database Recovery","og_description":"Database recovery obuhvata vra\u0107anje, popravku ili stabilizaciju baze podataka nakon gre\u0161ke, o\u0161te\u0107enja, neuspe\u0161ne migracije, punog diska ili pogre\u0161ne intervencije. Kod produkcionih sajtova ovaj proces mora [&hellip;]","og_url":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/","og_site_name":"Goran Kostic Blog","article_published_time":"2026-05-15T17:33:46+00:00","author":"WebixDesign","twitter_card":"summary_large_image","twitter_misc":{"Written by":"WebixDesign","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/#article","isPartOf":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/"},"author":{"name":"WebixDesign","@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8"},"headline":"Database Recovery","datePublished":"2026-05-15T17:33:46+00:00","mainEntityOfPage":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/"},"wordCount":445,"commentCount":0,"articleSection":["RECOVERY &amp; OPTIMIZATION","Website Recovery"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/","url":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/","name":"Database Recovery - Goran Kostic Blog","isPartOf":{"@id":"https:\/\/gorankostic.com\/blog\/#website"},"datePublished":"2026-05-15T17:33:46+00:00","author":{"@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8"},"breadcrumb":{"@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gorankostic.com\/blog\/2026\/05\/15\/database-recovery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gorankostic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Database Recovery"}]},{"@type":"WebSite","@id":"https:\/\/gorankostic.com\/blog\/#website","url":"https:\/\/gorankostic.com\/blog\/","name":"Goran Kostic Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gorankostic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/gorankostic.com\/blog\/#\/schema\/person\/0f800bfa90359ff9d2204020d58099c8","name":"WebixDesign","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0b4c4d73af3b6d4c23d5191555e82cdc78a86604f69eae8d2c3d23e45d3967c5?s=96&d=mm&r=g","caption":"WebixDesign"},"sameAs":["https:\/\/gorankostic.com\/blog"],"url":"https:\/\/gorankostic.com\/blog\/author\/webixdesign\/"}]}},"_links":{"self":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/comments?post=313"}],"version-history":[{"count":1,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/313\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/posts\/313\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/media?parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/categories?post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gorankostic.com\/blog\/wp-json\/wp\/v2\/tags?post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}