Skip to main content

Što je mysqldump i kako ga koristiti?

Fix .exe has stopped working or windows explorer has stopped working (Lipanj 2025)

Fix .exe has stopped working or windows explorer has stopped working (Lipanj 2025)
Anonim

Kao jedna od vodećih slobodno dostupnih baza podataka, MySQL je popularan izbor za sve vrste web aplikacija. Budući da ste izloženi Internetu, vaša je aplikacija naravno izložena zlonamjernim napadima. Ako je vaš poslužitelj ugrožen, u najboljem slučaju morat ćete ponovno instalirati aplikaciju; u najgorem slučaju, možete izgubiti svoje podatke u cijelosti. Također ćete na kraju biti u situaciji u kojoj morate migrirati bazu podataka s jednog poslužitelja na drugi.

Što se koristi za mysqlump?

mysqldump alat je pokriven za obje ove situacije. Osnovna funkcija je uzeti MySQL bazu podataka i "izvatkom" kao tekstualnu datoteku. Ali ne samo bilo koja tekstna datoteka … datoteka je a skup SQL izraza, Ove izjave, kada se izvrše, ponovno će izgraditi vašu bazu podataka u točno stanje u kojem je bilo kada izvršavate odlagalište.

Zato možete koristiti mysqldump uzeti izvoz baze podataka. To može biti u svrhu stvaranja sigurnosnih kopija ili zbog toga što premještate bazu podataka novom hostu. U svakom slučaju, u nekom trenutku uvoz tekstnu datoteku natrag u MySQL poslužitelj baze podataka. Izvršit će sve SQL izraze u datoteci, koja obnavlja DB u prvobitno stanje. Ovaj dio zapravo ne koristi mysqldump naredba, ali to ne bi bilo moguće bez ovog uslužnog programa!

MySQL dokumenti navode druge metode izrade sigurnosnih kopija, ali sve imaju svoje nedostatke:

  • Hotcopying DB iz MySQL Enterprise je odličan način za postizanje ovih sigurnosnih kopija … ako vam ne smeta Enterprise tag cijena.
  • Kopiranje DB podatkovnih direktorija može biti lukav ako se krećete operacijskim sustavima jer će njihova odredišta biti drugačija.
  • Izvoz u tekstualnu datoteku s razgraničenom oznakom dat će vam sadržaj, ali morat ćete sami stvoriti strukturu. I bolje je da je to pravo.
  • Često možete pohraniti baze podataka iz GUI programa poput MySQL Workbench. No, to je ručni postupak, tj. Nije nešto što možete skriptirati ili uključiti u skupni zadatak.

Instaliranje alata mysqldump

Ako ste zainteresirani za ovaj članak, vjerojatno imate MySQL instaliran. Ako je to slučaj, dobra vijest - već imate mysqldump! Ako ne, možete jednostavno instalirati MySQL na standardni način za vaš operativni sustav.

Za Windows, pogledajte naše upute ovdje za instalaciju MySQL na Windows 7 (proces instalacije je još uvijek vrlo isti). Isto tako na MACOS-u, pogledajte naše upute za instalaciju MySQL-a na macOS 10.7 (opet, starije, ali još uvijek primjenjivo). Korisnici Linux-sustava temeljenih na Ubuntu mogu koristiti sljedeću naredbu za instalaciju MySQL klijenta i uslužnih programa:

sudo apt instaliraj mysql-klijent

Izdvajanje MySQL odlagališta

Jednom instaliran, možete koristiti mysqldump da biste dobili punu sigurnosnu kopiju svoje baze podataka.

mysqldump -h naziv vašeg DB računala ili IP -u naziv korisnika DB-a -p naziv baze podataka> db_backup.sql

Razmijimo ovu naredbu malo dolje:

  • "-H": Ova zastava je baza podataka domaćin, Može biti puno ime računala (npr., Myhost.domain.com) ili IP adresa. Također možete ostaviti prazno ako ga pokrenete na istom hostu kao i MySQL poslužitelj.
  • "-U": Kao što je spomenuto, ovo je tvoje Korisničko ime.
  • „P”: Ako ste ispravno osigurali MySQL instalaciju, trebat će vam zaporka povezivanje. Ta zastavica bez argumenta od vas će zatražiti zaporku prilikom izvršavanja naredbe. Ponekad je korisno dati lozinku izravno kao argument za tu zastavicu, na primjer u sigurnosnoj kopiji. No, na upit, ne biste trebali, jer ako je netko stekao pristup vašem računalu, mogli bi dobiti tu lozinku u povijesti naredbi.
  • "> db_backup.sql": Ovaj zadnji dio govori mysqldump usmjeriti sve svoje rezultate u datoteku. Uobičajeno, naredba će izlaziti sve izravno na konzolu, što znači da biste vidjeli hrpa SQL navodi letjeti. Umjesto toga, simbol *> * znak je da će sve te stvari ukloniti u navedenu tekstualnu datoteku. Ako datoteka ne postoji, automatski će se izraditi.

Kada završite, imat ćete .SQL datoteku. Ovo je samo tekstualna datoteka koja sadrži SQL izraze. Možete ga otvoriti u bilo kojem uređivaču teksta kako biste pregledali sadržaj. Gledajući izvoz iz WordPress baze podataka, možete vidjeti kako se te datoteke stavljaju zajedno.

Datoteka je podijeljena na odjeljke. Na gornjoj slici možemo vidjeti da je prvi odjeljak postavio tablicu za komentare programa WordPress. Drugi odjeljak zatim ponovno stvara sadržaj (tj. Zapisi komentara) koji su bili u tim tablicama. Kada ponovo uvesti MySQL deponiju, naredba će raditi na datoteci, izvršavati izjave i ponovno izgraditi bazu podataka baš onako kako je to bilo. Kako to učiniti? Pogledajmo.

Uvoz MySQL Dump datoteke

Prije nego što to učinite, trebat će vam već stvorena baza podataka i imati važeće korisničko ime i zaporku. Trebali biste imati i sva dopuštenja za bazu podataka. (Strogo govoreći, ne trebate GRANT dopuštenje, no lakše je dodijeliti ih sve.) Detaljnije o dozvolama za baze podataka možete pronaći u ovom članku.

Da biste ponovno uvezli podatke, slijedite ove korake:

  1. Prijavite se na MySQL poslužitelj s mySQL naredba.
  2. Tip koristiti ime baze podataka na upit, zamjenjujući odgovarajući naziv DB.
  3. Unesi izvor naziv datoteke, zamjenjujući naziv datoteke s primjedbom koju ste prethodno unijeli.

Kada završite, vidjet ćete dugački popis poruka s kojima se bilježe da se izvršavaju SQL izrazi. Pazite na pogreške, ali ako imate odgovarajuća dopuštenja, trebali biste biti u redu jer je prazna baza podataka.

Kada proces završi, imat ćete duplikat izvorne baze podataka. To možete potvrditi tako da napravite još jedan depon i usporedite dva izlaza. Dobar urednik teksta će moći to učiniti za vas, ili namijenjen * diff * alat kao što je prikazano na slici ispod:

Postoje samo dvije razlike između tih datoteka, što predstavljaju crvene crte na samom vrhu i dnu desne trake za pomicanje. Prva je linija koja sadrži naziv baze podataka i očekujemo da će to biti drugačije jer smo ih drugačije nazvali. Drugi, sve do kraja, je vremenska oznaka za datoteku s izvatkom. I očekujemo i da će to biti drugačije, budući da smo ponovno izradili drugu bazu podataka nakon prvog. Inače, datoteke su točno iste, što znači da su i baze podataka koje su ih generirale!