Serverovny.cz/Fórum/Jak obnovím databázi ze zálohy, když dojde k poškození?

Jak obnovím databázi ze zálohy, když dojde k poškození?

Zdravím všechny, mám trochu problém a potřeboval bych poradit. Nedávno se mi stalo, že moje databáze, kterou používám na serveru, se nějakým způsobem poškodila. Vůbec nevím, co se stalo, ale najednou jsem nemohl přistupovat k datům a vypadá to, že jsem přišel o hodně důležitých informací. Naštěstí mám zálohu, kterou jsem vytvořil před pár dny, ale teď nevím, jak ji správně obnovit. Záloha je uložena na externím disku a já jsem si nejistý, jaké kroky musím podniknout, abych ji mohl použít. Mám strach, že udělám něco špatně a ještě více to poškodím. Mohli byste mi prosím poradit, jaký je nejlepší způsob obnovení databáze ze zálohy? Jaké příkazy nebo postupy bych měl použít v případě různých typů databází? Je dobré mít nějaký speciální software pro obnovu nebo stačí používat standardní nástroje? A co když mám problém s kompatibilitou mezi verzemi databáze? Bude mi fungovat starší záloha na nové verzi databázového systému? Mám trochu paniku z toho, že bych mohl ztratit všechna svá data navždy. Proto se snažím zjistit co nejvíc informací předtím, než začnu s obnovou. Děkuji všem za jakékoliv rady a tipy.

182 slov
1.8 minut čtení
12. 12. 2023
Libor Hroch

Obnova databáze ze zálohy může vypadat složitě, ale pokud máš zálohu, tak to není taková hrůza. První věc, co udělej, je zkontrolovat, co za databázi používáš (MySQL, PostgreSQL, SQLite apod.). Každý systém má svoje specifika. Pokud máš třeba MySQL, tak použij příkaz mysql -u uživatel -p název_databáze \< cesta_k_záloze.sql. To ti obnoví databázi z SQL souboru. U PostgreSQL bys použil psql -U uživatel -d název_databáze -f cesta_k_záloze.sql. Je dobrý mít aktuální verzi databáze, ale starší záloha by měla fungovat s novější verzí, pokud nedošlo k nějakým velkým změnám ve struktuře. Před čímkoliv si udělej další zálohu aktuální databáze pro případ, že by se něco pokazilo. Pokud máš nějaký specializovaný software na správu databází jako phpMyAdmin nebo pgAdmin, tak tam většinou taky najdeš možnost importu. Vždycky je lepší si to nejdřív vyzkoušet na testovací kopii, než se do toho pustíš naostro. Držím palce!

142 slov
1.4 minut čtení
19. 1. 2025
Michaela Žáková

Takže, pokud máš zálohu, tak to není zas tak hrozné. V první řadě si udělej kopii té zálohy, abys měl zálohu na zálohu. Pak podle toho, jakou databázi používáš (např. MySQL, PostgreSQL apod.), budeš mít jiný postup.

Při MySQL můžeš použít příkaz mysql -u uživatel -p databaze \< cesta_k_záloze.sql, to by ti mělo obnovit databázi ze souboru. U PostgreSQL to vypadá podobně, tam použiješ psql -U uživatel -d databaze -f cesta_k_záloze.sql.

Důležité je, aby jsi měl stejnou verzi databázového systému jako byl při zálohování. Pokud je to novější verze, tak bys mohl mít problémy s kompatibilitou. Vždycky je dobré kouknout na dokumentaci k databázi, případně si udělat testovací instanci, abys to nezkoušel rovnou na produkčním serveru.

Pokud si nejsi jistej nebo se bojíš dělat chyby, zvážení použití nějakého specializovaného softwaru pro obnovu může být dobrý nápad. Ale většinou ti tyto základní příkazy stačí. Hlavně se na to vrhni co nejdřív, ať data nezmizí úplně.

154 slov
1.5 minut čtení
19. 1. 2025
Aleš Kubík
Serverovny.cz/Články/Správa databází
Zálohování a obnova databází: nejlepší praktikyKomplexní průvodce technikami zálohování databází a postupy pro úspěšnou obnovu dat.
1000 slov
10 minut čtení
31. 12. 2021
Petra Svobodová
Přečíst článek
Podobné otázky