Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Pogreške
  • Referentni priručnik za MySQL. Dump baze podataka - blog kodera

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

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

Da biste prenijeli bazu podataka, prvo morate stvoriti njezin dump, odnosno smjestiti sadržaj u zasebnu sql datoteku. To se radi u izborniku phpMyAdmin na hostingu s kojeg prenosite stranicu. Idite na phpMyAdmin, odaberite bazu podataka koju želite prenijeti na lijevoj strani i kliknite na gumb “ Izvoz»U gornjem izborniku.

Otvorit će se dijaloški okvir u kojem svakako odaberite vrstu SQL baze podataka, a zatim kliknite gumb u redu... Pričekajte da se datoteka baze podataka preuzme na vaše računalo.

Sada ova datoteka mora biti ispravno postavljena na naš hosting. Da biste to učinili, prvo morate stvoriti MySQL bazu podataka u cPanel računu, dodati joj korisnika i dodijeliti joj privilegije. U nastavku, redom, opisano je kako napraviti bazu podataka u MySQL-u.

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

Otvorit će se novi prozor. U koraku 1 unesite naziv baze. Imajte na umu da će naziv baze podataka uvijek imati prefiks, a prva polovica imena sadržavat će naziv cPanel računa.

Nakon što unesete naziv, kliknite na gumb " Sljedeći korak».

U koraku 2, trebate stvoriti MySQL korisnika za bazu podataka i postaviti lozinku za nju. Nakon unosa svih podataka, pritisnite gumb " Kreiraj korisnika».

Prilikom konfiguriranja privilegija stvorenog korisnika, odaberite " SVA PRAVA“I prijeđite na sljedeći korak.

Ako je sve ispravno napravljeno u prethodnim koracima, čarobnjak baze podataka će vas obavijestiti o uspješnom završetku izrade baze podataka na hostingu.

Sada kreiranu bazu podataka možete pronaći na popisu dostupnih MySQL baza podataka u istoimenom izborniku upravljačke ploče.

Sada, za vraćanje MySQL baze podataka, uvozimo u kreiranu bazu podataka sadržaj datoteke spremljene sa starog hostinga s ekstenzijom .sql... Da biste to učinili, na glavnoj stranici cPanela odaberite stavku izbornika " phpMyAdmin"U istom dijelu" Baza podataka”. U prozoru koji se otvori, u izborniku s lijeve strane odaberite novostvorenu bazu podataka i kliknite na " Uvoz»U gornjem izborniku.

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

Time su dovršeni 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 stati u jedan članak pa će sve biti kratko i poentirano. Ako netko nešto krivo razumije, pogledajte komentare na članak.

Odjeljci:

Montažamysqldump:

Što je mysqldump?

MySQLdump Je poslužiteljska aplikacija koja vam omogućuje sigurnosno kopiranje (u daljnjem tekstu dump) baza podataka i njihovo spremanje u zasebnu datoteku. Istodobno, možete implementirati fleksibilne postavke dump-a: nekoliko ili sve baze podataka, arhiviranje u gzip-u, dodavanje naredbi za zaključavanje, ispuštanje i još mnogo toga. Obrnuti uvoz sigurnosnih kopija baze podataka također je moguć. To se može učiniti pomoću PHP-a, ali to je neprihvatljivo za velike projekte koji imaju veliku podatkovnu težinu.

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

Preuzmite mysqldump

Program mysqldump uvijek možete preuzeti na našoj web stranici, dok je preuzimanje aplikacije potpuno besplatno. Preuzmite mysqldump s izravne veze u nastavku.

Kako da instaliram mysqldump?

Instalirat ćemo ga na lokalni Denwer poslužitelj. Instalacija aplikacije je jednostavna i jednostavna, da biste to učinili, slijedite upute i snimke zaslona u nastavku.

1. Kopirajte datoteku mysqldump.exe u mapu denver:

D: \ WebServers \ usr \ local \ mysql5 \ bin \
U ovom slučaju, možda ćete imati malo drugačiji naziv za mysql5 mapu, na primjer, mysql-5.1 ili malo izmijenjen. Stoga, radi jasnoće, u nastavku se nalazi snimka zaslona:

2. Pokrenite Denver

Sigurno i sami znate kako voditi Denwer.


3. Pokrenite konzolu:

Start-> Run->cmd.exe ili na Windows 7: Start-> Pretraživanje-> Entercmd.exe->Unesi kao što je prikazano na snimci zaslona:

4. Testiranje:

Koristeći naredbe u konzoli, idite na denver virtualni disk (imam W: \) i u mapu s aplikacijom mysqldump. Za potvrdu izvršenja naredbe pritisnite Enter.

Unesite naredbe:

W:- idite na denver virtualni disk

CDusr \lokalni \mysql5 \kantu- idite na mapu s aplikacijom

mysqldump -uroot your_db_name> filename.sql- testiramo, izbacujemo proizvoljnu bazu podataka u datoteku koja će biti spremljena u mapu bin.

Moja instalacija je uspjela, nadam se i tvoja. Pronađite datoteku sigurnosne kopije baze podataka u mapi bin. Da biste naučili kako koristiti program šire, pročitajte sljedeće odjeljke članka.

Početak: Izvoz i uvoz baze podataka

Izvoz baze podataka

Aplikaciju smo već instalirali i naučili kako koristiti konzolu. Već smo napravili probni dump. Sada napravimo jednostavan dump baze podataka u direktorij koji nam je potreban. Da bih to učinio, stvorio sam prethodno korištenu bazu podataka pod nazivom "test". Nalazi se na denweru lokalnog poslužitelja. U nastavku su korak-po-korak naredbe konzole za ispis testne baze podataka u željenu mapu i datoteku.

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

Snimka zaslona u nastavku prikazuje datoteku dump u probnoj mapi:

Izvoz je bio uspješan. Sada pokušajmo uvesti ovu datoteku natrag na naš poslužitelj.

Uvoz baze podataka

Da biste uvezli bazu podataka, obrišite bazu podataka u phpmyadminu i upotrijebite sljedeću naredbu u cmd.exe:

Mysql -uroot test

Važna napomena: ako smo tijekom izvoza koristili mysqldump ..., tada pri uvozu trebate započeti naredbu s mysql... Ovaj primjer je osnovna upotreba aplikacije mysqldump za stvaranje sigurnosnih kopija (sigurnosnih kopija) baza podataka. U odjeljku i članku naći ćete još više naredbi i primjera.

MySQLdump primjeri

U nastavku su neki od najčešće korištenih primjera korištenja mysqldump. Uz pomoć koje 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 tablica ili strukture baze podataka, koristite fleksibilne postavke. Ove opcije omogućuju vam 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 --korisnik = ...- Korisničko ime

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

-str ili --zaporka- zatražite lozinku

baza podataka- naziv izvezene baze podataka

/put/do/datoteke/dump.sql- put i datoteka za dump

Izbacujemo nekoliko baza podataka, za to koristimo atribut --databases ili skraćeno -B, pogledajte primjer u nastavku:

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

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

Mysqldump -uroot -h82.82.82.82 -p -A> sve baze podataka.sql

Napravite 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

Napravite dump samo jedne ili više tablica baze podataka

mysqldump -uUSER -pPASSWORD BAZA PODATAKA TABLICA1 TABLICA2 TABLICA3> dump.sql

Napravite dump i arhivirajte gagzip

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

Napravite 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 rezultirajuću veličinu datoteke i ubrzavaju proces sigurnosnog kopiranja. Točnije:

-P omota imena pozadinama

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

-e radi prošireni umetak.

Ovaj post sadrži najčešće korištene naredbe za stvaranje ili postavljanje sigurnosnih kopija MySQL baza podataka.

Pa baš mi je dosadilo stalno guglati ključeve kad mi "odjednom" zatrebaju.

malo teorije..

MySQLDUMP je alat koji vam omogućuje izradu sigurnosnih kopija MySQL baza podataka. Na izlazu dobivamo .sql datoteku s dumpom baze podataka. Ova datoteka sadrži SQL kod u obliku teksta, tj. uvijek ga možete otvoriti u uređivaču teksta za pregled, uređivanje itd...
Takav dump možete vratiti pomoću uslužnog programa mysql putem STDIN-a.

Usput, postoji i takav uslužni program kao što je MySqlHotCopy, koji se najbolje koristi za stvaranje vrućih sigurnosnih kopija, jer stavlja bazu podataka na zaključavanje i kopira datoteke baze podataka na željeno mjesto. Ali ova stvar će raditi samo ako je pokrenete na samom poslužitelju, radi samo s MyISAM i Archive tablicama i prikladnija je za velike baze podataka.
Podatke možete oporaviti kopiranjem spremljenih datoteka u MySQL podatkovni direktorij.

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

Izrada sigurnosne kopije baze podataka

Počnimo s najčešćom naredbom za izbacivanje web-mjesta 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 poslužitelj. Ako je poslužitelj lokalni, onda ne možete koristiti ovaj parametar ili tamo napisati localhost. Također imajte na umu da ip poslužitelja nakon ključa mora biti napisan bez razmaka;
  • -str(—Lozinka =…) je lozinka korisnika. Ako se ovaj ključ ne koristi, tada će veza s bazom podataka biti moguća ako nema lozinke. Također, nitko ne zabranjuje unos lozinke u naredbu, a iza ključa ne smije biti razmaka (na primjer: -p1234567890, gdje je 1234567890 lozinka);
  • site_ru ovo je naziv baze podataka na MySql poslužitelju;
  • site_ru.sql ovo je dump datoteka.

Za izradu sigurnosne kopije 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, a trebate 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> all-db.sql

Usput, postoji nijansa.

Ako napravite sigurnosnu kopiju baze podataka na poslušnom i štoviše, aktivno korištenom poslužitelju, tada riskirate kršenje logičkih veza. Postoji nekoliko načina da to izbjegnete.

Prvi način je zaključavanje stolova, t.j. 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 izrade sigurnosne kopije, zahtjevi klijenta bit će obustavljeni... i stoga može doći do isteka.

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

Vraćanje sigurnosne kopije baze podataka

Ovdje će već vladati uslužni program "mysql". Evo primjera:

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

Drugi način, pedantičniji:

Mysql -uroot -p Unesite lozinku: Dobrodošli na MySQL monitor. Naredbe završavaju s; ili \ g. Vaš ID MySQL veze je 35 Verzija poslužitelja: 5.6.35-1 + deb.sury.org ~ xenial + 0.1 (Ubuntu) Autorska prava (c) 2000, 2016, Oracle i/ili njegove podružnice. Sva prava pridržana. Oracle je registrirani zaštitni znak tvrtke Oracle Corporation i/ili njezinih podružnica. Ostali nazivi mogu biti zaštitni znaci svojih vlasnika. Upišite "pomoć;" ili "\ h" za pomoć. Upišite "\ c" da izbrišete trenutni unos. mysql> koristite site_ru; mysql> izvor site_ru.sql;

Pa, ako je vaša baza podataka spremljena u gz-arhivu, tada možete kombinirati naredbe mysql i zcat ovako:

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

Više slučajeva korištenja 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 odrediti odabir 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 --no-data site_ru> site_ru.sql

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

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

Ako trebamo kopiju okidača, procedura i događaja (ugrađeni planer), evo primjera:

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

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

Mysqldump -uroot -p site_en | gzip> /put/do/site_ru.sql.gz

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

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

Ključevi za korištenje mysqldump

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

Proširi popis...

  • --Add-drop-database - Dodaje naredbu DROP DATABASE prije svake izjave CREATE DATABASE.
  • --Add-drop-table - Dodaje izraz DROP TABLE prije svakog izraza CREATE TABLE.
  • —Add-locks - Dodaje naredbu LOCK TABLES prije izvršenja i UNLOCK TABLE nakon svakog dump-a tablice (za ubrzanje pristupa MySQL-u).
  • —Sve baze podataka, -A — Spremite sve tablice iz svih baza podataka kojima upravlja trenutni poslužitelj.
  • —Dopusti-ključne riječi – dopušta stvaranje naziva stupaca koji odgovaraju ključnim riječima. Bez sukoba se osigurava prefiksom naziva tablice imenu svakog stupca.
  • —Komentari, -i — Ova opcija vam omogućuje dodavanje dodatnih informacija u dump, kao što su verzija mysqldump, verzija MySQL, ime hosta na kojem se nalazi MySQL poslužitelj.
  • --Compact - Ova opcija upućuje mysqldump da stvori dump koristeći što kompaktniji format. Parametar je suprotan od —komentara.
  • —Kompatibilno = ime - Ovaj parametar generira izlaz koji je kompatibilan s 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 puni oblik naredbe INSERT (s nazivima stupaca).
  • --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ćuje da navedete nazive nekoliko baza podataka za koje želite stvoriti dump.
  • —Odgođeno — Koristite naredbu INSERT DELAYED prilikom umetanja redaka.
  • —Delete-master-logs — Binarni zapisnici (logbin) se automatski brišu na glavnom poslužitelju replikacije nakon što je dump uspješno generiran s mysqldump. Ovaj parametar automatski uključuje parametar "-master-data".
  • --Disable-keys, -K - Za svaku tablicu, okružuje INSERT izraz s / *!40000 ALTER TABLE tbl_name DISABLE KEYS * /; i / *! 40000 ALTER TABLE tbl_name ENABLE KEYS * /; u izlazu rezultata dump-a. To će ubrzati učitavanje podataka na poslužitelj za MyISAM tablice, budući da se indeksi kreiraju nakon što su svi podaci uneseni.
  • —Extended-insert, -e — Upotrijebite naredbu INSERT s novom sintaksom s više redaka (što čini unosne izjave kompaktnijima i osjetljivijima).
  • —Flush-logs, -F — Ispraznite podatke syslog iz međuspremnika MySQL poslužitelja prije pokretanja dumpa.
  • -Force, -f Nastavi čak i ako dođe do pogreške tijekom iznošenja.
  • —Hex-blob - Ovaj parametar vam omogućuje predstavljanje binarnih podataka u poljima tipa BINARY, VARBINARY, BLOB i BIT u heksadecimalnom formatu. Ovo će zamijeniti sekvencu "abc" s 0x616263.
  • --Ignore-table = db_name.tbl_name - Omogućuje vam da zanemarite tablicu tbl_name baze podataka db_name kada generirate dump. Ako želite isključiti više tablica iz dump-a, morate koristiti više opcija "—ignore-table", navodeći jednu tablicu u svakoj od opcija.
  • --Insert-ignore - Dodaje ključnu riječ IGNORE naredbi INSERT.
  • —Zaključaj sve tablice, -x — Određivanjem ove opcije zaključat će se sve tablice u svim bazama podataka dok se generira puni dump svih baza podataka.
  • --Zaključaj-tablice, -l - Navođenje ove opcije zaključava tablice u izbačenoj bazi podataka.
  • —Ne-autocommit — Uključuje sve INSERT izraze u istoj tablici u jednoj transakciji, što rezultira bržim preuzimanjem podataka.
  • —No-create-db, -n — Suzbija iznošenje izraza CREATE DATABASE koji se automatski dodaju pomoću opcija —baze podataka i —all-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 sigurnosnog kopiranja podataka i skraćenica je koja uključuje sljedeće opcije: —brzo —dodaj-ispusti-tablicu —dodaj-zaključavanja —kreiraj-opcije —isključi-tipke —prošireno-ubaci —zaključaj -tablice —set-charset... Počevši od MySQL 4.1, parametar -opt se koristi prema zadanim postavkama, tj. sve su gore navedene opcije omogućene prema zadanim postavkama, čak i ako nisu navedene. Da biste isključili ovo ponašanje, morate koristiti parametre --skip-opt
  • — Redoslijed po primarnim - Određivanje parametra rezultira time. da je svaka tablica sortirana po primarnom ključu ili prvom jedinstvenom indeksu.
  • -Port, -P - Broj TCP porta koji se koristi za povezivanje s hostom.
  • —Protokol = (TCP | SOCKET | PIPE | MEMORY) - Ovaj parametar vam omogućuje da odredite protokol za povezivanje s poslužiteljem.
  • —Brzo, -q - Omogućuje vam da počnete generirati dump bez čekanja na potpuno preuzimanje podataka s poslužitelja i na taj način štedi memoriju.
  • --Quote-names, -Q - Smješta imena baze podataka, tablica i stupaca u pozadine `. Počevši od MySQL 4.1, ova je opcija omogućena prema zadanim postavkama.
  • --Replace - Dodaje ključnu riječ REPLACE naredbi INSERT. Ovaj je parametar prvi put uveden u MySQL 5.1.3.
  • —Rezultat-file = / path / to / file, -r / path / to / file - Parametar usmjerava ispis na datoteku datoteke. Ova je opcija posebno korisna u sustavu Windows bez korištenja naredbenog retka. kada možete preusmjeriti rezultat u datoteku pomoću sekvenci> i >>.
  • --Rutine, -R - Ovaj parametar izbacuje pohranjene procedure i funkcije. Dostupno od MySQL 5.1.2.
  • —Pojedinačna transakcija – Ovaj parametar stvara dump kao jednu transakciju.
  • --Skip-comments - Ovaj parametar vam omogućuje da potisnete izlaz dodatnih informacija u dump.
  • —Socket = / path / to / socket, -S / path / to / socket - Socket datoteka za spajanje na localhost.
  • --Tab = / path /, -T / path / - Ova opcija stvara dvije zasebne datoteke u direktoriju staze za svaku tablicu: tbl_name.sql, koji sadrži izraz CREATE TABLE, i tbl_name.txt, koji sadrži tablicu razdvojenu tabulatorima podaci... Format podataka može se eksplicitno nadjačati pomoću parametara -fields-xxx i -lines-xxx.
  • —Tablice — Nadjačava opciju —baze podataka (-B). Svi argumenti koji slijede ovaj parametar tretiraju se kao nazivi tablica.
  • —Okidači - Okidači se izbacuju. Ova je opcija omogućena prema zadanim postavkama. da biste ga onemogućili, koristite parametar –skip-triggers.
  • —Događaji, -E - Ispis događaja. 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 dodan u dump, što će omogućiti razmjenu ispisa 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 = 'uvjet gdje', -w 'uvjet gdje' - Izbaci samo odabrane zapise. Imajte na umu da su citati obavezni.
  • —Xml, -X - Pruža ispis baze podataka kao XML.
  • —First-slave, -x - Zaključava sve tablice u svim bazama podataka.
  • —Debug =…, - # - Pratite napredak programa (za otklanjanje pogrešaka).
  • —Pomoć – Prikažite informacije o pomoći i izađite iz programa.

Sasvim je jednostavno i praktično izbaciti i vratiti MySQL bazu podataka na daljinu putem SSH-a ili izravno putem konzole poslužitelja. Daljinski, to se može učiniti pomoću programa Putty / Kitty. Također možete pokrenuti sljedeće primjere u sustavu Windows pokretanjem naredbenog retka ' cmd‘. U nastavku su primjeri kako stvoriti dumpove MySQL baze podataka i zatim ih vratiti ako je potrebno, na primjer, za vašu web stranicu, internetsku trgovinu ili bilo koji drugi projekt.

Izbacivanje MySQL baze podataka

Kako biste izvršili ove naredbe, povežite se daljinski na svoj poslužitelj putem SSH-a pomoću jednog od gore navedenih programa. Nakon povezivanja i autorizacije na poslužitelj/hosting, možete unijeti naredbe u nastavku.

# Sigurnosna kopija jedne baze podataka u datoteci dump_file.sql mysqldump -uroot -p your_base> dump_file.sql # Na Windowsima je najbolje napraviti dump s malo drugačijom naredbom koja sprječava # slučajno prepisivanje redaka za ispis 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, ne cijele baze podataka # (navedite nazive 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 s eksplicitnim naznakom UTF-8 baze podataka koja kodira mysqldump -uroot - p --default- skup znakova = utf8 your_base --extended-insert = FALSE | gzip -c> "datum" +% Y-% m-% d "". gz

# Sigurnosno kopirajte jednu bazu podataka u datoteku dump_file.sql

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

# Na Windowsima, najbolje je stvoriti dump s malo drugačijom naredbom koja sprječava

# slučajno prepisivanje redaka za ispis zbog pretvorbe znakova feeda "\ 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

# (označavamo nazive tablica odvojene razmakom iza naziva baze podataka)

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

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

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

# Sigurnosno kopirajte sve baze podataka u datoteku current_date.gz

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

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

# i eksplicitno navodeć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 stvaranje sigurnosne kopije mysqldump koji je uključen u mysql. Sljedeći su parametri za izradu 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 toga, izgleda kao -uroot
  • -str- 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 ova metoda nije sigurna, budući da konzola sprema vaše naredbe u datoteku dnevnika i ako je ne brišete redovito, napadač može vidjeti.
  • vaša_baza- umjesto ovog retka u primjeru, trebate navesti pravi naziv vaše baze podataka za koju kreirate sigurnosnu kopiju.
  • > - operater koji pokazuje smjer djelovanja, t.j. kao da označava da ćete pisati iz baze podataka u datoteku.
  • dump_file.sql Je li naziv 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 sustav automatski umetnuo trenutno vrijeme u naziv, dovoljno je navesti redak ovako:

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

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


    nakon ovog retka, primjer navodi ekstenziju datoteke ' .gz‘. Ovo će stvoriti datoteku poput ' 2014-11-15.gz‘.

    Pažnja! Ako navedete samo naziv datoteke, ona će biti spremljena u isti direktorij u odnosu na koji izvršavate ovu naredbu. Oni. ako vidite nešto slično # , gdje [e-mail zaštićen] ovo je prijava i naziv poslužitelja, tada će se datoteka kreirati u direktoriju / Dom... Da biste promijenili spremanje datoteke na drugi put, zamijenite naziv punim putem za spremanje datoteke, na primjer: /var/www/backup/dump_file.sql.

  • U drugom primjeru, umjesto " > 'Operator se koristi' | ', Što označava pokretanje dodatne naredbe gzip s parametrom' -c'Što vam omogućuje da odmah zapakirate dump u arhivu, a tek onda ga spremite u datoteku poput' 2014-11-15.gz'Kako je izvijestio operater' > ‘.
  • Parametar -Nema podataka omogućuje vam da izbacujete samo strukturu baze podataka bez samih podataka. U nekim je slučajevima vrlo korisno kada podaci nisu potrebni.
  • Parametri – Zadani skup znakova = utf8 i –Prošireno-umetanje = FALSE... Prvi vam omogućuje da eksplicitno navedete kodiranje koje koristi ova baza podataka, čime se izbjegava pohranjivanje baze podataka u pogrešnom kodiranju.Umjesto utf8, možete odrediti bilo koji drugi kodiranje, na primjer cp1251. Drugi parametar vam omogućuje da navedete da se zasebna INSERT naredba mora generirati za svaki zapis tijekom izvoza. U nekim slučajevima to može biti potrebno pri djelomičnom obnavljanju podataka iz deponije.
  • Oporavak baze podataka iz MySQL Dump datoteke

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

Vrhunski povezani članci