Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • MySQL Referentni priručnik. Dump baze podataka - blog kodera

MySQL Referentni priručnik. Dump baze podataka - blog kodera

Ovaj članak može biti od pomoći ako imate web stranicu koja koristi sistem za upravljanje sadržajem (Joomla, WordPress, OpenCart, itd.) i odlučite se prebacite na drugi server... To zahtijeva ne samo prijenos datoteka web mjesta, već i prijenos. Prije nego što nastavite s prijenosom web stranice, morate pronaći dobar i naručiti ga kako biste dobili pristup novom hosting računu. Na primjer, nudimo samostalne, Joomla i PrestaShop. Ako želite prenijeti svoju web stranicu pod novo ime i trebate, uzmite si vremena. Naš S4 Shared Hosting Plan će vam dati i domenu besplatno. Ako virtuelni hosting nije dovoljan za vašu stranicu, uvijek možete naručiti VPS ili.

Da biste prenijeli bazu podataka, prvo morate kreirati njen dump, odnosno smjestiti sadržaj u posebnu sql datoteku. Ovo se radi u meniju phpMyAdmin na hostingu sa kojeg prenosite stranicu. Idite na phpMyAdmin, odaberite bazu podataka koju želite prenijeti na lijevoj strani i kliknite na dugme “ Izvoz»U gornjem meniju.

Otvoriće se dijaloški okvir u kojem obavezno odaberite tip SQL baze podataka, a zatim kliknite na dugme uredu... Sačekajte da se datoteka baze podataka preuzme na vaš računar.

Sada ovaj fajl mora biti ispravno postavljen na naš hosting. Da biste to učinili, prvo morate kreirati MySQL bazu podataka u cPanel nalogu, dodati joj korisnika i dodijeliti joj privilegije. U nastavku, redom, opisano je kako kreirati bazu podataka u MySQL-u.

Idite na cPanel i pronađite odjeljak " Baza podataka", Odaberite" ".

Otvoriće se novi prozor. U koraku 1 unesite naziv baze. Imajte na umu da će ime baze podataka uvijek imati prefiks, a prva polovina imena će sadržavati ime cPanel naloga.

Nakon što unesete ime, kliknite na dugme " Sljedeći korak».

U koraku 2, potrebno je kreirati MySQL korisnika za bazu podataka i postaviti lozinku za nju. Nakon što unesete sve podatke, pritisnite dugme " Kreiraj korisnika».

Prilikom konfiguriranja privilegija kreiranog korisnika, odaberite " SVA PRAVA”I idite na sljedeći korak.

Ako je sve urađeno kako treba u prethodnim koracima, čarobnjak baze podataka će vas obavijestiti o uspješnom završetku kreiranja baze podataka na hostingu.

Sada kreiranu bazu podataka možete pronaći na listi dostupnih MySQL baza podataka u istoimenom meniju kontrolne table.

Sada, da bismo vratili MySQL bazu podataka, uvozimo u kreiranu bazu podataka sadržaj datoteke sačuvane sa starog hostinga sa ekstenzijom .sql... Da biste to učinili, na glavnoj stranici cPanela odaberite stavku menija “ phpMyAdmin"U istom dijelu" Baza podataka”. U prozoru koji se otvori, u meniju na lijevoj strani, odaberite novokreiranu bazu podataka i kliknite na " Uvoz»U gornjem meniju.

Kliknite na " izaberite datoteku", U dijaloškom okviru odaberite prethodno sačuvanu sql datoteku i prenesite je na hosting. Provjerite je li tip kodiranja utf-8. Nakon što kliknete na OK, pričekajte poruku da je baza podataka uspješno uvezena.

Ovim se završavaju svi koraci potrebni za prijenos baze podataka na drugu.

Ideja članka je stvoriti visokokvalitetan priručnik za instalaciju i rad s programom mysqldump. Primjena puno primjera i prikupljanje svih korisnih opcija i parametara za rad s ovim uslužnim programom. Teško je sve uklopiti u jedan članak, pa će sve biti kratko i jasno. Ako neko nešto pogrešno shvati, pogledajte komentare na članak.

Odjeljci:

Instalacijamysqldump:

Šta je mysqldump?

MySQLdump Je serverska aplikacija koja vam omogućava da napravite sigurnosnu kopiju (u daljem tekstu dump) baza podataka i pohranite ih u posebnu datoteku. Istovremeno, možete implementirati fleksibilne postavke dumpa: nekoliko ili sve baze podataka, arhiviranje u gzip-u, dodavanje zaključavanja, ispuštanje komandi i još mnogo toga. Obrnuti uvoz rezervnih kopija baze podataka je također moguć. To se može uraditi pomoću PHP-a, ali to je neprihvatljivo za velike projekte koji imaju veliku težinu podataka.

Ovaj program je vrlo koristan za izvoz i uvoz podataka iz baze podataka. Može se standardno instalirati na vaš hosting (tačnije, na mysql server). Ali da biste usavršili svoje vještine u radu sa mysqldumpom i naučili kako se instalirati, možete ga instalirati na denwer. Šta ćemo sada.

Preuzmite mysqldump

Program mysqldump uvijek možete preuzeti na našoj web stranici, dok je preuzimanje aplikacije potpuno besplatno. Preuzmite mysqldump sa direktnog linka ispod.

Kako da instaliram mysqldump?

Instalirat ćemo ga na lokalni Denwer server. Instalacija aplikacije je laka i jednostavna, da biste to učinili, slijedite upute i snimke ekrana date u nastavku.

1. Kopirajte datoteku mysqldump.exe u denver folder:

D: \ WebServers \ usr \ local \ mysql5 \ bin \
U ovom slučaju, možda ćete imati nešto drugačije ime za mysql5 folder, na primjer, mysql-5.1 ili malo izmijenjen. Stoga, radi jasnoće, u nastavku je dat snimak ekrana:

2. Pokrenite Denver

Sigurno i sami znate kako da vodite Denwer.


3. Pokrenite konzolu:

Start-> Run->cmd.exe ili na Windows 7: Start-> Search-> Entercmd.exe->Enter kao što je prikazano na snimku ekrana:

4. Testiranje:

Koristeći komande u konzoli, idite na denver virtuelni disk (imam W: \) i u folder sa aplikacijom mysqldump. Da biste potvrdili izvršenje naredbe, pritisnite Enter.

Unesite naredbe:

W:- idite na denver virtualni disk

cdusr \lokalni \mysql5 \bin- idite u folder sa aplikacijom

mysqldump -uroot your_db_name> filename.sql- testiramo, izbacujemo proizvoljnu bazu podataka u datoteku koja će biti sačuvana u folderu bin.

Moja instalacija je bila uspješna, nadam se da i vaša. Pronađite datoteku sigurnosne kopije baze podataka u mapi bin. Da biste naučili kako koristiti program šire, pročitajte sljedeće dijelove članka.

Početak: Izvoz i uvoz baze podataka

Izvoz baze podataka

Već smo instalirali aplikaciju i naučili kako koristiti konzolu. Već smo uradili probni dump. Sada napravimo jednostavan dump baze podataka u direktorij koji nam je potreban. Da bih to učinio, kreirao sam prethodno korištenu bazu podataka pod nazivom “test”. Nalazi se na lokalnom serveru. Ispod su korak-po-korak naredbe konzole za dumpovanje testne baze podataka u željenu mapu i datoteku.

W: cdusr \ local \ mysql5 \ bin mysqldump -uroot test> D: \ test \ easydump.sql

Snimak ekrana ispod prikazuje dump fajl u test folderu:

Izvoz je bio uspješan. Sada pokušajmo da uvezemo ovu datoteku nazad na naš server.

Uvoz baze podataka

Da biste uvezli bazu podataka, obrišite bazu podataka u phpmyadmin-u i koristite sljedeću naredbu u cmd.exe:

Mysql -uroot test

Važna napomena: ako smo prilikom izvoza koristili mysqldump ..., onda kada uvozite, trebate započeti naredbu sa mysql... Ovaj primjer je osnovna upotreba aplikacije mysqldump za kreiranje sigurnosnih kopija (sigurnosnih kopija) baza podataka. Naći ćete još više naredbi i primjera u odjeljku i članku.

MySQLdump primjeri

Ispod su neki od najčešće korištenih primjera korištenja mysqldump. Uz pomoć kojih ne samo da možete napraviti sigurnosnu kopiju, već i dodati neke sigurnosne opcije: kompresiju pomoću gzipa, dodavanje datuma sigurnosne kopije, izbacivanje samo nekoliko tabela ili strukture baze podataka, koristite fleksibilne postavke. Ove opcije vam omogućavaju da povećate brzinu izvršavanja dump-a i uštedite prostor na disku.

Kreiranje deponije

mysqldump –uUSER -h82.82.82.82 -pPASSWORD DATABASE> /path/to/file/dump.sql

-u ili --user = ...- Korisničko ime

-h ili --host = ...- udaljeni host (za lokalni host možete izostaviti ovaj parametar)

-p ili --lozinka- zatražite lozinku

baza podataka- naziv izvezene baze podataka

/path/to/file/dump.sql- putanja i datoteka za dump

Izbacujemo nekoliko baza podataka, za ovo koristimo atribut --databases ili skraćeno -B, pogledajte primjer ispod:

Mysqldump -uroot -h82.82.82.82 -p -B baza podataka1 baza podataka2 baza podataka3> baze podataka.sql

Ako želite da kreirate dump svih baza podataka, morate koristiti parametar –all-databases ili skraćeno –A, pogledajte primjer:

Mysqldump -uroot -h82.82.82.82 -p -A> all-databases.sql

Kreirajte strukturu baze podataka bez podataka

Da biste to učinili, trebate koristiti parametar --no-data kao što je prikazano u primjeru ispod:

Mysqldump --no-data - uUSER -pPASSWORD DATABASE> /path/to/file/schema.sql

Kreirajte dump samo jedne ili više tablica baze podataka

mysqldump -uUSER -pPASSWORD BAZA PODATAKA TABLICA1 TABELA2 TABELA3> dump.sql

Napravite dump i arhivirajte gagzip

mysqldump -u KORISNIK -pPASSWORD BAZA PODATAKA | gzip> /path/to/outputfile.sql.gz

Kreirajte dump s datumom u nazivu datoteke

mysqldump -uUSER -pPASSWORD BAZA PODATAKA | gzip> `datum + dump.sql.% Y% m% d.% H% M% S.gz`

Korištenje dodatnih atributa

mysqldump -Q -c -e -uUSER -pPASSWORD DATABASE> /path/to/file/dump.sql

Kao što je ranije spomenuto, ovi atributi smanjuju rezultujuću veličinu datoteke i ubrzavaju proces izrade sigurnosne kopije. Preciznije:

-Q omota imena sa pozadinskim kvačicama

-c vrši potpuno umetanje uključujući nazive kolona

-e radi prošireni umetak.

Ovaj post sadrži najčešće korišćene komande za kreiranje ili postavljanje rezervnih kopija MySQL baza podataka.

Pa, samo sam umoran od stalnog guglanja ključeva kada mi "odjednom" zatrebaju.

Malo teorije..

MySQLDUMP je alat koji vam omogućava da kreirate rezervne kopije MySQL baza podataka. Na izlazu dobijamo .sql fajl sa dumpom baze podataka. Ovaj fajl sadrži SQL kod u obliku teksta, tj. uvijek ga možete otvoriti u uređivaču teksta da pogledate, uredite, itd...
Takav dump možete vratiti koristeći mysql uslužni program preko STDIN-a.

Usput, postoji i takav uslužni program kao što je MySqlHotCopy, koji se najbolje koristi za kreiranje vrućih sigurnosnih kopija, jer stavlja bazu podataka na zaključavanje i kopira datoteke baze podataka na željenu lokaciju. Ali ova stvar će raditi samo ako je pokrenete na samom serveru, radi samo sa MyISAM i Archive tabelama i pogodnija je za velike baze podataka.
Možete oporaviti podatke kopiranjem sačuvanih datoteka u MySQL direktorij podataka.

Ali, generalno, ne radi se o njoj ... možda ću pisati o "vrućoj kopiji" u drugom članku ...

Kreiranje sigurnosne kopije baze podataka

Počnimo s najčešćom naredbom za ispis stranice site.ru u datoteku site.ru:

Mysqldump -uroot -h10.30.30.10 -p site_ru> site_ru.sql

    Više o ključevima:
  • -u(—Korisnik = ...) je ime korisnika baze podataka;
  • -h(—Host =…) je host na kojem se nalazi sam server. Ako je server lokalni, onda ne možete koristiti ovaj parametar ili tamo napisati localhost. Takođe imajte na umu da ip servera nakon ključa mora biti napisan bez razmaka;
  • -p(—Lozinka =…) je lozinka korisnika. Ako se ovaj ključ ne koristi, tada će veza s bazom podataka biti moguća ako nema lozinke. Takođe, niko ne zabranjuje unos lozinke u komandu, a posle ključa ne bi trebalo da bude razmaka (na primer: -p1234567890, gde je 1234567890 lozinka);
  • site_ru ovo je ime baze podataka na MySql serveru;
  • site_ru.sql ovo je dump fajl.

Da biste napravili rezervnu kopiju nekoliko baza podataka, možete koristiti ključ -B i navedite više baza podataka, evo primjera:

Mysqldump -uroot -h10.30.30.10 -p site_en site2_en site3_en> sites.sql

Ako vam situacija ne daje vremena za razmišljanje i morate napraviti sigurnosnu kopiju svih baza podataka, tada u ovoj situaciji možete koristiti ključ —Sve baze podataka, evo primjera:

Mysqldump -uroot -h10.30.30.10 -p -A> sve-db.sql

Usput, postoji nijansa.

Ako napravite sigurnosnu kopiju baze podataka na radnom, i osim toga, aktivno korištenom serveru, tada rizikujete da dobijete kršenje logičkih veza. Postoji nekoliko načina da to izbjegnete.

Prvi način je zaključavanje stolova, tj. možete koristiti parametar --lock-tables, evo primjera:

Mysqldump -uroot -h10.30.30.10 -p --lock-tables site_en> site_ru.sql

Ali u vrijeme kreiranja sigurnosne kopije, zahtjevi klijenata će biti suspendovani... i stoga može doći do isteka.

Drugi način je korištenje prekidača –flush-log prilikom kreiranja sigurnosne kopije. Ovaj ključ će zatvoriti stari dnevnik aktivnosti i kreirati novi. Ako neko nešto napiše u procesu kreiranja kopije, to će se odraziti na početku dnevnika i biće moguće prenijeti ovu promjenu u bazu podataka. Dalje, da biste bili sigurni, nakon završetka sigurnosne kopije, morate pokrenuti naredbu mysqladmin -flush-logs i ostaviti kopiju pretposljednjeg binarnog dnevnika.

Vraćanje sigurnosne kopije baze podataka

Uslužni program "mysql" će već vladati ovdje. Evo primjera:

Mysql -uroot -h10.30.30.10 -p site_ru< site_ru.sql

Drugi način, pedantičniji:

Mysql -uroot -p Unesite lozinku: Dobro došli na MySQL monitor. Komande završavaju sa; ili \ g. Vaš ID MySQL veze je 35 Verzija servera: 5.6.35-1 + deb.sury.org ~ xenial + 0.1 (Ubuntu) Autorska prava (c) 2000, 2016, Oracle i/ili njegove podružnice. Sva prava zadržana. Oracle je registrovani zaštitni znak kompanije Oracle Corporation i/ili njenih filijala. Druga imena mogu biti zaštitni znaci njihovih vlasnika. Upišite "help;" ili "\ h" za pomoć. Otkucajte "\ c" da obrišete trenutni unos. mysql> koristi site_ru; mysql> izvor site_ru.sql;

Pa, ako je vaša baza podataka sačuvana u gz-arhivi, onda možete kombinovati naredbe mysql i zcat ovako:

Zcat site_ru.sql.gz | mysql -uroot -h10.30.30.10 -p site_ru

Više slučajeva upotrebe za mysqldump

Na primjer, potrebna nam je baza podataka u dev zoni, da tako kažem, sandbox, a veličina glavne baze podataka je vrlo velika. Možete koristiti -where = "true limit 150" ključ, za koji ćemo eksplicitno navesti izbor podataka od najviše 150 zapisa. Evo primjera:

Mysqldump -uroot -h10.30.30.10 -p --where = "true limit 150" site_en> site_en.sql

Ako nam je potrebna samo struktura bez podataka, onda možemo koristiti -no-data ključ, evo primjera

Mysqldump -uroot -h10.30.30.10 -p --bez podataka site_ru> site_ru.sql

Ako nam je potrebna samo kopija jedne tabele, evo primjera naredbe:

Mysqldump -u root -p testdb ime tablice> testdb_table_backup.sql

Ako nam je potrebna kopija okidača, procedura i događaja (ugrađeni planer), evo primjera:

Mysqldump --bez-kreirati-info --bez podataka --okidači --routine --događaji -uroot -p site_en | gzip> ~ / baza podataka.sql.gz

Također možete odmah kreirati arhiviranu bazu podataka. Možete to učiniti ovako:

Mysqldump -uroot -p site_en | gzip> /path/to/site_ru.sql.gz

A možete odrediti i datum kada je arhiva kreirana, ovako:

Mysqldump -uroot -p site_en | gzip> `datum + / putanja / do / site_ru.sql.% Y% m% d.% H% M% S.gz`

Ključevi za korištenje mysqldump

Najpopularniji mysqldump prekidači će biti navedeni u nastavku:

Proširite listu...

  • --Add-drop-database - Dodaje naredbu DROP DATABASE prije svakog izraza CREATE DATABASE.
  • --Add-drop-table - Dodaje naredbu DROP TABLE prije svake naredbe CREATE TABLE.
  • —Add-locks - Dodaje naredbu LOCK TABLES prije izvršenja i UNLOCK TABLE nakon svakog dump-a tablice (da bi se ubrzao pristup MySQL-u).
  • —Sve baze podataka, -A — Sačuvajte sve tabele iz svih baza podataka kojima upravlja trenutni server.
  • —Dozvoli-ključne riječi – Dozvoli kreiranje naziva kolona koji odgovaraju ključnim riječima. Bez sukoba je osigurano dodavanjem prefiksa imena tablice imenu svake kolone.
  • —Komentari, -i — Ova opcija vam omogućava da dodate dodatne informacije u dump, kao što su verzija mysqldump, verzija MySQL, ime hosta na kojem se nalazi MySQL server.
  • --Compact - Ova opcija upućuje mysqldump da kreira dump koristeći što je moguće kompaktniji format. Parametar je suprotan od —komentara.
  • —Kompatibilno = ime - Ovaj parametar generiše izlaz koji je kompatibilan sa drugim DBMS-ovima ili starijim verzijama MySQL-a. Umjesto naziva ključne riječi možete koristiti: "ansi", "mysql323", "mysql40", "postgresql", "oracle", "mssql", "db2", "maxdb", "no_key_options", "no_table_options", "no_field_options" ... Može se koristiti više vrijednosti, odvojenih zarezima.
  • —Complete-insert, -c — Koristite punu formu INSERT izraza (sa imenima kolona).
  • --Create-options - Dodaje dodatne informacije naredbama CREATE TABLE. To može biti tip tablice, početna vrijednost AUTO_INCREMENT i drugi parametri.
  • —Baze podataka, -B - Parametar vam omogućava da navedete imena nekoliko baza podataka za koje želite da kreirate dump.
  • —Odgođeno — Koristite naredbu INSERT DELAYED kada ubacujete redove.
  • —Delete-master-logs — Binarni dnevnici (logbin) se automatski brišu na glavnom serveru replikacije nakon što je dump uspješno generiran pomoću mysqldump. Ovaj parametar automatski uključuje parametar "-master-data".
  • --Disable-keys, -K - Za svaku tabelu, okružuje INSERT izraz sa / *!40000 ALTER TABLE tbl_name DISABLE KEYS * /; i / *!40000 ALTER TABLE tbl_name ENABLE KEYS * /; u izlazu rezultata dumpa. Ovo će ubrzati učitavanje podataka na server za MyISAM tabele, jer se indeksi kreiraju nakon što se svi podaci unesu.
  • —Extended-insert, -e — Koristite naredbu INSERT sa novom sintaksom za više redaka (čineći naredbe za unos kompaktnijim i prilagodljivijim).
  • —Flush-logs, -F — Ispraznite podatke syslog iz bafera MySQL servera prije pokretanja dumpa.
  • -Force, -f Nastaviti čak i ako dođe do greške tokom dumpinga.
  • —Hex-blob – Ovaj parametar vam omogućava da predstavite binarne podatke u poljima tipa BINARY, VARBINARY, BLOB i BIT u heksadecimalnom formatu. Ovo će zamijeniti "abc" sekvencu sa 0x616263.
  • --Ignore-table = db_name.tbl_name - Omogućava vam da ignorišete tabelu tbl_name baze podataka db_name kada generišete dump. Ako želite da isključite više tabela iz dumpa, morate koristiti više opcija "—ignore-table", navodeći jednu tabelu u svakoj od opcija.
  • --Insert-ignore - Dodaje ključnu riječ IGNORE u INSERT izraz.
  • —Zaključaj-sve-tabele, -x — Navođenje ove opcije će zaključati sve tabele u svim bazama podataka dok se generiše potpuni dump svih baza podataka.
  • --Zaključaj-tabele, -l - Navođenje ove opcije zaključava tabele u izbačenoj bazi podataka.
  • —Ne-autocommit — Uključuje sve INSERT izraze na istoj tablici u jednoj transakciji, što rezultira bržim preuzimanjem podataka.
  • —No-create-db, -n — Suzbija damping izraza CREATE DATABASE koji se automatski dodaju pomoću opcija —baze podataka i —sve baze podataka.
  • —Nema podataka, -d Suzbija generiranje INSERT izraza u dumpu, što može biti korisno kada se izbacuje struktura baze podataka bez samih podataka.
  • —Opt – Parametar je namijenjen za optimizaciju brzine sigurnosne kopije podataka i predstavlja skraćenicu koja uključuje sljedeće opcije: —brzo —dodaj-ispusti-tabelu —dodaj-zaključavanja —kreiraj-opcije —isključi-ključeve —prošireno-ubaci —zaključaj -tabele —set-charset... Počevši od MySQL 4.1, parametar -opt se koristi po defaultu, tj. sve gore navedene opcije su podrazumevano omogućene, čak i ako nisu navedene. Da biste isključili ovo ponašanje, morate koristiti parametre --skip-opt
  • —Red po primarnom - Određivanje parametra rezultira time. da je svaka tabela sortirana po primarnom ključu ili prvom jedinstvenom indeksu.
  • -Port, -P - Broj TCP porta koji se koristi za povezivanje sa hostom.
  • —Protokol = (TCP | SOCKET | PIPE | MEMORY) - Ovaj parametar vam omogućava da odredite protokol za povezivanje sa serverom.
  • —Brzo, -q - Omogućava vam da počnete generirati dump bez čekanja na potpuno preuzimanje podataka sa servera i na taj način štedi memoriju.
  • --Quote-names, -Q - Smešta imena baze podataka, tabela i kolona u pozadinu `. Počevši od MySQL 4.1, ova opcija je podrazumevano omogućena.
  • --Replace - Dodaje ključnu riječ REPLACE naredbi INSERT. Ovaj parametar je prvi put uveden u MySQL 5.1.3.
  • —Datoteka rezultata = / putanja / do / datoteke, -r / putanja / do / datoteke - Parametar usmjerava dump na datoteku datoteke. Ova opcija je posebno korisna u Windowsima bez korištenja komandne linije. kada možete preusmjeriti rezultat u datoteku koristeći sekvence> i >>.
  • --Rutine, -R - Ovaj parametar izbacuje pohranjene procedure i funkcije. Dostupno od MySQL 5.1.2.
  • —Pojedinačna transakcija – Ovaj parametar kreira dump kao jednu transakciju.
  • --Skip-comments - Ovaj parametar vam omogućava da potisnete izlaz dodatnih informacija u dump.
  • —Socket = / path / to / socket, -S / path / to / socket - Socket datoteka za povezivanje na localhost.
  • --Tab = / path /, -T / path / - Ova opcija kreira dvije odvojene datoteke u direktoriju putanje za svaku tablicu: tbl_name.sql, koji sadrži naredbu CREATE TABLE, i tbl_name.txt, koja sadrži tablicu razdvojenu tabulatorima podaci ... Format podataka se može eksplicitno nadjačati pomoću parametara -fields-xxx i -lines-xxx.
  • —Tabele — Nadjačava opciju —baze podataka (-B). Svi argumenti koji slijede ovaj parametar se tretiraju kao imena tablica.
  • —Okidači - Okidači se izbacuju. Ova opcija je podrazumevano omogućena. da biste ga onemogućili, koristite parametar –skip-triggers.
  • —Događaji, -E - Dump događaje. Pogledajte MySQL Event Scheduler ili MySQL ugrađeni dispečer događaja.
  • —Tz-utc — kada se koristi ovaj parametar, operator kao što je SET TIME_ZONE = ’+ 00:00 ′ će biti dodat u dump, što će omogućiti razmjenu dumpa u različitim vremenskim zonama.
  • -Verbose, -v - Prošireni način rada. Prikazuje detaljnije informacije o radu programa.
  • —Verzija, -V - Prikaz informacija o verziji programa.
  • —Gdje = 'gdje-uvjet', -w 'gdje-uslov' - Izbaci samo odabrane zapise. Imajte na umu da su citati obavezni.
  • —Xml, -X - Pruža dump baze podataka kao XML.
  • —First-slave, -x - Zaključava sve tabele u svim bazama podataka.
  • —Debug =…, - # - Pratite napredak programa (za otklanjanje grešaka).
  • —Pomoć – Prikažite informacije o pomoći i izađite iz programa.

Sasvim je lako i zgodno dampirate i vratite MySQL bazu podataka na daljinu preko SSH-a ili direktno preko serverske konzole. Daljinski, to se može učiniti pomoću programa Putty / Kitty. Također možete pokrenuti sljedeće primjere na Windows-u pokretanjem komandne linije ‘ cmd‘. Ispod su primjeri kako kreirati dumpove MySQL baze podataka, a zatim ih vratiti ako je potrebno, na primjer, za vašu web stranicu, online trgovinu ili bilo koji drugi projekat.

Izbacivanje MySQL baze podataka

Da biste izvršili ove komande, povežite se na daljinu sa svojim serverom preko SSH-a koristeći jedan od gore navedenih programa. Nakon povezivanja i autorizacije na server/hosting, možete unijeti naredbe ispod.

# Napravite sigurnosnu kopiju jedne baze podataka u datoteci dump_file.sql mysqldump -uroot -p your_base> dump_file.sql # Na windows-u je najbolje napraviti dump sa malo drugačijom naredbom koja sprječava # slučajno prepisivanje redova damp-a zbog konverzije feed feeda znakovi "\ r \ n" u "\ n" mysqldump -uroot -p your_base -r dump_file_utf8.sql # Ako trebate napraviti sigurnosnu kopiju samo pojedinačnih tablica, a ne cijele baze podataka # (navedite imena tablica odvojene razmakom nakon baze podataka ime) mysqldump -uroot -p your_base TABLE1 TABLE2 TABLE3> dump_file.sql # Ako trebate napraviti sigurnosnu kopiju samo strukture baze podataka bez samih podataka mysqldump -uroot -p --no-data your_base> dump_file.sql # Sigurnosna kopija svih baze podataka u datoteku current_date.gz mysqldump -uroot -p --all_databases | gzip -c> "datum" +% Y-% m-% d "". gz # Sigurnosna kopija, gdje se kreira poseban INSERT # za svaki zapis i sa eksplicitnim naznakom UTF-8 baze podataka koja kodira mysqldump -uroot - p --default- skup znakova = utf8 vaša_baza --prošireni-insert = FALSE | gzip -c> "datum" +% Y-% m-% d ". gz

# Napravite sigurnosnu kopiju jedne baze podataka u dump_file.sql datoteku

mysqldump - uroot - p vaša_baza> dump_file. sql

# Na Windowsima, najbolje je kreirati dump sa malo drugačijom komandom koja sprečava

# slučajno prepisivanje dump linija zbog konverzije znakova za unos reda "\ r \ n" u "\ n"

mysqldump - uroot - p vaša_baza - r dump_file_utf8. sql

# Ako trebate napraviti sigurnosnu kopiju samo pojedinačnih tablica, a ne cijele baze podataka

# (naznačavamo imena tabela odvojene razmakom iza naziva baze podataka)

mysqldump - uroot - p vaša_baza TABLE1 TABLE2 TABLE3> dump_file. sql

# Ako trebate napraviti sigurnosnu kopiju samo strukture baze podataka bez samih podataka

mysqldump - uroot - p - ne - podaci vaša_baza> dump_file. sql

# Napravite sigurnosnu kopiju svih baza podataka u datoteku current_date.gz

mysqldump - uroot - p - sve_baze podataka | gzip - c> "datum" +% Y-% m-% d "". gz

# Sigurnosna kopija, gdje se kreira poseban INSERT za svaki zapis

# i eksplicitno specificirajući UTF-8 kodiranje baze podataka

mysqldump - uroot - p - default - character - set = utf8 your_base - extended - insert = FALSE | gzip - c> "datum" +% Y-% m-% d "". gz

U gornjem primjeru, uslužni program se koristi za kreiranje sigurnosne kopije mysqldump koji je uključen u mysql. Slijede parametri za kreiranje sigurnosne kopije baze podataka, koje ćemo detaljnije analizirati:

  • -u- parametar specificira prijavu koja će se koristiti za povezivanje s bazom podataka. U primjeru koristimo root prijavu, koja mora biti navedena u ovom parametru bez razmaka! Kao rezultat, imamo da izgleda kao -uroot
  • -p- parametar označava da morate unijeti lozinku za navedenu prijavu. Ostavili smo ga praznim, zbog čega će lozinku trebati unijeti nakon pritiska na “Enter” prilikom izvršavanja naredbe. Ipak, ovdje možete odmah odrediti lozinku, kao u parametru za prijavu, bez razmaka nakon -p, međutim ovaj metod nije siguran, jer konzola sprema vaše komande u log datoteku i ako je ne brišete redovno, napadač može vidjeti.
  • vaša_baza- umjesto ove linije u primjeru, trebate navesti pravi naziv vaše baze podataka za koju kreirate rezervnu kopiju.
  • > - operater koji pokazuje pravac djelovanja, tj. kao da označava da ćete pisati iz baze podataka u datoteku.
  • dump_file.sql Je ime vaše slq datoteke u koju želite spremiti svoju bazu podataka. Naveden je razmakom iza operatora '>'. Možete dati bilo koje drugo ime. Na primjer, da bi sistem automatski ubacio trenutno vrijeme u ime, dovoljno je navesti red ovako:

    "datum" +% Y-% m-% d ""

    "datum" +% Y-% m-% d ""


    nakon ovog reda, primjer navodi ekstenziju datoteke ' .gz‘. Ovo će kreirati fajl kao što je ' 2014-11-15.gz‘.

    Pažnja! Ako navedete samo ime datoteke, ona će biti sačuvana u istom direktorijumu u odnosu na koji izvršavate ovu naredbu. One. ako vidite nešto slično # , gdje [email protected] ovo je prijava i ime servera, tada će datoteka biti kreirana u direktoriju / Dom... Da biste promijenili pohranjivanje datoteke na drugu putanju, zamijenite ime punom putanjom za spremanje datoteke, na primjer: /var/www/backup/dump_file.sql.

  • U drugom primjeru, umjesto ' > 'Operator je korišten' | ', Što ukazuje na pokretanje dodatne gzip komande sa parametrom' -c'Što vam omogućava da odmah spakujete dump u arhivu, a tek onda ga sačuvate u fajl kao što je' 2014-11-15.gz'Kako je javio operater' > ‘.
  • Parametar -Nema podataka omogućava vam da izbacujete samo strukturu baze podataka bez samih podataka. U nekim slučajevima je vrlo korisno kada podaci nisu potrebni.
  • Opcije –Default-character-set = utf8 i –Prošireno-umetanje = FALSE... Prvi vam omogućava da eksplicitno specificirate kodiranje koje koristi ova baza podataka, čime se izbjegava pohranjivanje baze podataka u pogrešnom kodiranju.Umjesto utf8, možete specificirati bilo koje drugo kodiranje, na primjer cp1251. Drugi parametar vam omogućava da navedete da se poseban INSERT izraz mora generirati za svaki zapis tokom izvoza. U nekim slučajevima, ovo može biti potrebno pri djelimičnom obnavljanju podataka iz dumpa.
  • Oporavak baze podataka iz MySQL Dump datoteke

    Sada pogledajmo obrnuti proces vraćanja baze podataka iz dump datoteke. Ova radnja se izvodi pomoću mysql programa. Pogledajmo odmah primjer.

Top srodni članci