How to Get Back Deleted Data in SQL Server Using Transaction Log LSNs
Sadržaj:
- Mysqldump sintaksa naredbe
- Izrada sigurnosne kopije jedne MySQL baze podataka
- Izrada sigurnosnih kopija više MySQL baza podataka
- Izrada sigurnosne kopije svih MySQL baza podataka
- Izrada sigurnosne kopije svih MySQL baza podataka u zasebne datoteke
- Napravite komprimiranu sigurnosnu kopiju MySQL baze podataka
- Napravite sigurnosnu kopiju s vremenskom oznakom
- Obnavljanje deponije MySQL
- Vratite jednu MySQL bazu podataka s cijelog MySQL odlagališta
- Izvoz i uvoz MySQL baze podataka u jednoj naredbi
- Automatizirajte sigurnosne kopije pomoću Cron-a
- Zaključak
Ovaj vodič objašnjava kako sigurnosnu kopiju i vraćanje MySQL ili MariaDB baza podataka iz naredbenog retka pomoću uslužnog programa mysqldump.
Datoteke sigurnosnih kopija koje je stvorio uslužni program mysqldump u osnovi su skup SQL izraza koji se mogu koristiti za ponovno stvaranje izvorne baze podataka. Naredba mysqldump također može generirati datoteke u CSV i XML formatu.
Pomoću uslužnog programa mysqldump možete prenijeti svoju MySQL bazu podataka na drugi MySQL poslužitelj.
Mysqldump sintaksa naredbe
Prije nego što razmotrimo kako koristiti naredbu mysqldump, započnimo s pregledom osnovne sintakse.
Izrazi uslužnog programa mysqldump imaju sljedeći oblik:
mysqldump > file.sql
-
options
- mysqldump opcijefile.sql
- Dump (sigurnosna kopija) datoteka
Za upotrebu naredbe mysqldump MySQL poslužitelj mora biti dostupan i pokrenut.
Izrada sigurnosne kopije jedne MySQL baze podataka
Najčešći slučaj upotrebe alata mysqldump je izrada sigurnosne kopije jedne baze podataka.
Na primjer, da biste stvorili sigurnosnu kopiju baze podataka s imenom
database_name
koristeći korisnički
root
i spremili ga u datoteku pod nazivom
database_name.sql
, pokrenuli biste sljedeću naredbu:
mysqldump -u root -p database_name > database_name.sql
Od vas će se tražiti da unesete root lozinku. Nakon uspješne provjere autentičnosti započet će se postupak dump. Ovisno o veličini baze podataka, postupak može potrajati neko vrijeme.
mysqldump database_name > database_name.sql
Izrada sigurnosnih kopija više MySQL baza podataka
Za sigurnosno kopiranje više MySQL baza podataka s jednom naredbom trebate koristiti opciju
--database
nakon čega slijedi popis baza podataka koje želite sigurnosno kopirati. Svako ime baze podataka mora biti odvojeno razmakom.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Gornja naredba stvorit će dump datoteku koja sadrži obje baze podataka.
Izrada sigurnosne kopije svih MySQL baza podataka
Upotrijebite opciju
--all-databases
za sigurnosnu kopiju svih MySQL baza podataka:
mysqldump -u root -p --all-databases > all_databases.sql
Kao i u prethodnom primjeru, gornja naredba će stvoriti jednu dump datoteku koja sadrži sve baze podataka.
Izrada sigurnosne kopije svih MySQL baza podataka u zasebne datoteke
Uslužni program
mysqldump
ne nudi mogućnost sigurnosnog kopiranja svih baza podataka u odvojene datoteke, ali to jednostavno postižemo jednostavnim bash
FOR
petljem:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Gornja naredba stvorit će zasebnu dump datoteku za svaku bazu podataka koristeći naziv baze podataka kao naziv datoteke.
Napravite komprimiranu sigurnosnu kopiju MySQL baze podataka
Ako je veličina baze podataka vrlo velika, dobra je ideja komprimirati izlaz. Da biste to učinili, jednostavno dodajte izlaz na uslužni program
gzip
i preusmjerite ga u datoteku kao što je prikazano u nastavku:
mysqldump database_name | gzip > database_name.sql.gz
Napravite sigurnosnu kopiju s vremenskom oznakom
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Gornja naredba stvorit će datoteku sa sljedećim formatom
database_name-20180617.sql
Obnavljanje deponije MySQL
MySQL ispis možete vratiti pomoću alata
mysql
. Opća sintaksa naredbe je sljedeća:
mysqld database_name < file.sql
U većini slučajeva trebat ćete stvoriti bazu podataka u koju želite uvesti. Ako baza podataka već postoji, prvo je morate izbrisati.
U sljedećem primjeru prva naredba će stvoriti bazu podataka s imenom
database_name
a zatim će u nju izvesti dump
database_name.sql
:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Vratite jednu MySQL bazu podataka s cijelog MySQL odlagališta
mysql --one-database database_name < all_databases.sql
Izvoz i uvoz MySQL baze podataka u jednoj naredbi
Umjesto stvaranja dump datoteke iz jedne baze podataka i uvoza sigurnosne kopije u drugu MySQL bazu podataka, možete upotrijebiti sljedeći jedan povez:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Gornja naredba će izlaz izvesti na mysql klijent na udaljenom hostu i uvest će ga u bazu podataka pod nazivom
remote_database_name
. Prije pokretanja naredbe provjerite da li baza podataka već postoji na udaljenom poslužitelju.
Automatizirajte sigurnosne kopije pomoću Cron-a
Automatiziranje procesa izrade sigurnosnih kopija podataka tako je jednostavno kao i stvaranje cron posla što će izvesti naredbu mysqldump u određeno vrijeme.
Da biste postavili automatizirane sigurnosne kopije MySQL baze podataka pomoću cronjoba, slijedite korake u nastavku:
-
Napravite datoteku s imenom
.my.cnf
u vašem direktoriju korisnika:sudo nano ~/.my.cnf
Kopirajte i zalijepite sljedeći tekst u.my.cnf datoteku.
user = dbuser password = dbpasswd
Ne zaboravite zamijeniti
dbuser
idbpasswd
korisnikom i korisničkom lozinkom baze podataka.Ograničite dozvole datoteke vjerodajnica tako da samo vaš korisnik ima pristup njoj:
chmod 600 ~/.my.cnf
Izradite direktorij za pohranu sigurnosnih kopija:
mkdir ~/db_backups
Otvorite svoju korisničku crontab datoteku:
crontab -e
Dodajte sljedeći posao cron koji će stvoriti sigurnosnu kopiju imena baze podataka
mydb
svaki dan u 3 sata:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Ne zaboravite zamijeniti
username
sa stvarnim korisničkim imenom.
Možete također stvoriti još jedan cronjob za brisanje svih sigurnosnih kopija starijih od 30 dana:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Naravno, naredbu trebate prilagoditi prema vašem mjestu sigurnosne kopije i nazivima datoteka. Da biste saznali više o naredbi pronađite provjerite naše Kako pronaći datoteke u Linuxu pomoću vodiča naredbenog retka.
Zaključak
Ovaj udžbenik pokriva samo osnove, ali to bi trebao biti dobar početak za sve koji žele naučiti kako stvoriti i obnoviti MySQL baze podataka iz naredbenog retka pomoću uslužnog programa mysqldump.
Također možete provjeriti udžbenik o tome kako resetirati MySQL root lozinku u slučaju da ste je zaboravili.
sigurnosna kopija mysql mariadbKontinuirano pokreće otvoreni baze baze podataka za skaliranje baze podataka
Izvor i vlasnički ...
Kako izraditi sigurnosnu kopiju i vratiti skype kontakte
Ovaj vodič prikazuje kako lako možete izraditi sigurnosnu kopiju, vraćanje Skype kontakata i također ih prenijeti na novi Skype ID.
Kako izraditi sigurnosnu kopiju i vratiti podatke na Windows Phone 8
Evo načina sigurnosne kopije i vraćanja podataka na Windows Phone 8.