- Učlanjen(a)
- 12.02.2009.
- Poruke
- 30.805
- Broj reagovanja
- 16.936
- Horoskop
- Ovan
Kako uraditi Backup i Restore MySQL Database uz pomoć SSH/Telnet
Ako Vaša web prezentacija koristi MySQL bazu podataka, vrlo je važno da se redovno pravite sigurnosne kopije vaših podataka kako bi se zaštitili od gubitka podataka. Ovaj tutorial će vam pokazati dva jednostavna načina za backup i restore Vaše MySQL baze podataka. Možete koristiti ovaj proces i za transfer svoje baze i na nov web server.
Backup korišćenjem mysqldumpa
Ako imate telnet ili shell pristup vašem web serveru, možete da uradite backup vaše baze koristeći mysqldump naredbu. Ova naredba spaja na MySQL server i stvara SQL dump datoteke. Ovo je pravilna sintaksa (naredba):
Gde je:
* [uname] ime korisnika beze
* [pass] password za vašu bazu
* [dbname] ima baze
* [backupfile.sql] ime fajla kopije baze, tj, backupa
* [--opt] mysqldump opcije (koje u ovom primeru nisu bitne)
Na primer, za backup baze podataka pod nazivom 'Tutoriali' sa korisničkim imenom 'root' i bez lozinke u datoteku tut_backup.sql, trebali ispuniti ovu naredbu:
Ovom naredbom će se napraviti sigurnosna kopija 'Tutoriali' baze podataka u datoteku koja se zove tut_backup.sql i sadržaće sve potrebne SQL statements da biste ponovo stvorili bazu.
Sa mysqldump naredbom možete navesti određene tabele Vaše baze podataka za koje želite da uradite backup. Na primer, za sigurnosno kopiranje samo php_tutorials i asp_tutorials tabele iz 'Tutoriali' treba napisati code koji se nalazi ispod. Svako ime tabele mora biti odvojeno baš kao što je u primeru:
Ponekad je potrebno napraviti backup više baza podataka odjednom. U tom slučaju možete se koristiti --database opcijom. Svaka ime baze podataka mora biti odvojeno baš kao u ovom primeru:
Ako želite napraviti sigurnosnu kopiju svih podataka na serveru istovremeno koristite --all-databases opciju.
Backup vaše MySQL baze sa kompresijom
Ako je Vaša MySQL baza podataka je vrlo velika, možda biste je trebali kompresovati. Dovoljno je koristiti mysql backup naredbu ispod i tada ćete dobiti izlaz kao gzip datoteku.
Ukoliko želite da se ektraktuje Gz datoteka koristite naredbu ispod:
Restore vaše MySQL baze
Da biste ponovo stvorili bazu Tutoriali trebate uraditi dve stvari:
* Kreirajte bazu podataka na novom serveru
* Učitajte datoteku koristeći mysql naredbu:
Ovako možete vratiti vaš backup baze Tutoriali u novu bazu podataka.
Da biste vratili kompresovan backup datoteke koristite sledeću naredbu:
Ako je potrebno vraćanje baze podataka koja već postoji, morate da koristitite mysqlimport naredbe. Sintaksa za mysqlimport je:
Ako Vaša web prezentacija koristi MySQL bazu podataka, vrlo je važno da se redovno pravite sigurnosne kopije vaših podataka kako bi se zaštitili od gubitka podataka. Ovaj tutorial će vam pokazati dva jednostavna načina za backup i restore Vaše MySQL baze podataka. Možete koristiti ovaj proces i za transfer svoje baze i na nov web server.
Backup korišćenjem mysqldumpa
Ako imate telnet ili shell pristup vašem web serveru, možete da uradite backup vaše baze koristeći mysqldump naredbu. Ova naredba spaja na MySQL server i stvara SQL dump datoteke. Ovo je pravilna sintaksa (naredba):
Kod:
$ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]
Gde je:
* [uname] ime korisnika beze
* [pass] password za vašu bazu
* [dbname] ima baze
* [backupfile.sql] ime fajla kopije baze, tj, backupa
* [--opt] mysqldump opcije (koje u ovom primeru nisu bitne)
Na primer, za backup baze podataka pod nazivom 'Tutoriali' sa korisničkim imenom 'root' i bez lozinke u datoteku tut_backup.sql, trebali ispuniti ovu naredbu:
Kod:
$ mysqldump -u root -p Tutorials > tut_backup.sql
Ovom naredbom će se napraviti sigurnosna kopija 'Tutoriali' baze podataka u datoteku koja se zove tut_backup.sql i sadržaće sve potrebne SQL statements da biste ponovo stvorili bazu.
Sa mysqldump naredbom možete navesti određene tabele Vaše baze podataka za koje želite da uradite backup. Na primer, za sigurnosno kopiranje samo php_tutorials i asp_tutorials tabele iz 'Tutoriali' treba napisati code koji se nalazi ispod. Svako ime tabele mora biti odvojeno baš kao što je u primeru:
Kod:
$ mysqldump -u root -p Tutorials php_tutorials asp_tutorials > tut_backup.sql
Ponekad je potrebno napraviti backup više baza podataka odjednom. U tom slučaju možete se koristiti --database opcijom. Svaka ime baze podataka mora biti odvojeno baš kao u ovom primeru:
Kod:
$ mysqldump -u root -p --databases Tutorials Articles Comments > content_backup.sql
Ako želite napraviti sigurnosnu kopiju svih podataka na serveru istovremeno koristite --all-databases opciju.
Kod:
$ mysqldump -u root -p --all-databases > alldb_backup.sql
Backup vaše MySQL baze sa kompresijom
Ako je Vaša MySQL baza podataka je vrlo velika, možda biste je trebali kompresovati. Dovoljno je koristiti mysql backup naredbu ispod i tada ćete dobiti izlaz kao gzip datoteku.
Kod:
$ mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]
Ukoliko želite da se ektraktuje Gz datoteka koristite naredbu ispod:
Kod:
$ gunzip [backupfile.sql.gz]
Restore vaše MySQL baze
Da biste ponovo stvorili bazu Tutoriali trebate uraditi dve stvari:
* Kreirajte bazu podataka na novom serveru
* Učitajte datoteku koristeći mysql naredbu:
Kod:
$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Ovako možete vratiti vaš backup baze Tutoriali u novu bazu podataka.
Kod:
$ mysql -u root -p Tutorials < tut_backup.sql
Da biste vratili kompresovan backup datoteke koristite sledeću naredbu:
Kod:
gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]
Ako je potrebno vraćanje baze podataka koja već postoji, morate da koristitite mysqlimport naredbe. Sintaksa za mysqlimport je:
Kod:
mysqlimport -u [uname] -p[pass] [dbname] [backupfile.sql]