Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • TV (Smart TV)
  • Ne bëjmë një hale (backup) të bazës së të dhënave duke përdorur mjetin mysqldump. Hedhja e bazës së të dhënave MySQL dhe eksportimi i të dhënave në tastierë

Ne bëjmë një hale (backup) të bazës së të dhënave duke përdorur mjetin mysqldump. Hedhja e bazës së të dhënave MySQL dhe eksportimi i të dhënave në tastierë

Ky artikull mund të jetë i dobishëm nëse keni një faqe interneti që përdor një sistem të menaxhimit të përmbajtjes (Joomla, WordPress, OpenCart, etj.) dhe ju vendosni ta zhvendosni atë në një server tjetër. Kjo kërkon jo vetëm transferimin e skedarëve të faqes, por edhe transferimin e . Përpara se të filloni të migroni uebsajtin tuaj, duhet të gjeni një të mirë dhe ta porosisni në mënyrë që të keni akses në llogarinë tuaj të re të pritjes. Ne, për shembull, ofrojmë të veçantë, Joomla dhe PrestaShop. Nëse dëshironi ta zhvendosni faqen tuaj në një emër të ri dhe keni nevojë, merrni kohën tuaj. Plani ynë i përbashkët i pritjes S4 do t'ju japë një domen falas. Nëse pritja e përbashkët nuk është e mjaftueshme për faqen tuaj të internetit, gjithmonë mund të porosisni VPS ose .

Për të transferuar një bazë të dhënash, së pari duhet të krijoni një hale të saj, domethënë të vendosni përmbajtjen në një skedar të veçantë sql. Kjo bëhet në meny phpMyAdmin në hostin nga ku po transferoni sitin. Hyni në phpMyAdmin, zgjidhni bazën e të dhënave që duhet të transferohet në të majtë dhe klikoni në " Eksporto» në menunë e sipërme.

Do të hapet një kuti dialogu në të cilën duhet të zgjidhni llojin Bazat e të dhënave SQL, më pas shtypni butonin Ne rregull. Prisni derisa skedari i bazës së të dhënave të shkarkohet në kompjuterin tuaj.

Tani ky skedar duhet të vendoset saktë në hostin tonë. Për ta bërë këtë, së pari duhet të krijoni një bazë të dhënash Të dhënat e MySQL në llogarinë tuaj cPanel, duke shtuar një përdorues në të dhe duke i caktuar atij privilegje. Më poshtë ne përshkruajmë se si të krijojmë një bazë të dhënash në MySQL.

Shkoni te cPanel dhe gjeni seksionin " Baza e të dhënave", zgjidhni "".

Do të hapet një dritare e re. Në hapin 1, vendosni një emër të bazës së të dhënave. Ju lutemi vini re se emri i bazës së të dhënave do të jetë gjithmonë prefiks; gjysma e parë e emrit do të përmbajë emrin e llogarisë cPanel.

Pasi të keni futur emrin, klikoni në " Hapi tjeter».

Në hapin 2 ju duhet të krijoni Përdorues MySQL në bazën e të dhënave dhe vendosni një fjalëkalim për të. Pasi të keni futur të gjitha të dhënat, klikoni " Krijo një përdorues».

Kur vendosni privilegjet e përdoruesit të krijuar, zgjidhni opsionin " TE GJITHA TE DREJTAT" dhe shkoni në hapin tjetër.

Nëse gjithçka është bërë në mënyrë korrekte në hapat e mëparshëm, magjistari i bazës së të dhënave do t'ju njoftojë se krijimi i bazës së të dhënave në host është përfunduar me sukses.

Tani mund ta gjeni bazën e të dhënave të krijuar në listën e bazave të të dhënave të disponueshme MySQL në menunë e panelit të kontrollit me të njëjtin emër.

Tani, për të rivendosur bazën e të dhënave MySQL, ne importojmë në bazën e të dhënave të krijuar përmbajtjen e skedarit të ruajtur nga hosti i vjetër me shtesën .sql. Për ta bërë këtë në faqen kryesore cPanel zgjidhni artikullin e menysë " phpMyAdmin"në të njëjtin seksion" Baza e të dhënave" Në dritaren që hapet, zgjidhni bazën e të dhënave të krijuar rishtazi nga menyja në të majtë dhe klikoni në skedën " Importi» në menunë e sipërme.

Klikoni butonin Zgjidhni Skedarin", në kutinë e dialogut, zgjidhni skedarin sql të ruajtur më parë dhe ngarkoni atë në host. Sigurohuni që lloji i kodimit të jetë utf-8. Pasi të klikoni OK, prisni për një mesazh që tregon se importimi i bazës së të dhënave ishte i suksesshëm.

Në këtë pikë, të gjithë hapat e nevojshëm për transferimin e bazës së të dhënave në një tjetër janë përfunduar.

Bërja e një databaze dump (backup) është shumë e rëndësishme. Kështu që unë bëra disa komente me shembuj për këtë dobishmëri e shkëlqyer si mysqldump.

mysqldump - një mjet që ju lejon të hidhni përmbajtjen e një baze të dhënash ose një grup bazash të dhënash për të krijuar një kopje rezervë ose për të dërguar të dhëna në një server tjetër të bazës së të dhënave SQL (jo domosdoshmërisht një server MySQL). Deponia do të përmbajë një grup komandash SQL për të krijuar dhe/ose mbushur tabelat.

mysqldump-u rrënjë -p -f emri_baza e të dhënave >

Me këtë komandë ne bëjmë një kopje rezervë të bazës së të dhënave nën emrin name_database në diskun C në skedarin mydb_backup_name_database.txt

Ju nuk keni nevojë të krijoni skedarin; MySQL do ta krijojë atë vetë.

mysql-u rrënjë -p -f emri_baza e të dhënave< C:\mydb_backup_name_database.txt

Me këtë komandë ne importojmë të dhëna rezervë nga skedari C:\mydb_backup_name_database.txt

Shënim: -f, --force është një opsion që specifikon të vazhdojë edhe nëse merret një gabim SQL, d.m.th. injoroni gabimet. Për shembull, nëse një rresht identik ekziston tashmë në tabelë.

Për të shmangur kërkesën për një fjalëkalim, duhet ta shkruani menjëherë pas -p, domethënë pa hapësira. Nëse fjalëkalimi Pwd, atëherë shembulli do të duket si ky:

mysqldump-u rrënjë -p Pwd-f emri_baza e të dhënave > C:\mydb_backup_name_database.txt

Nëse përdorni shpesh këtë komandë, atëherë është më mirë të krijoni një përdorues të veçantë me të drejtat e nevojshme për të zvogëluar dukshmërinë e fjalëkalimit rrënjë

Le të shqyrtojmë më shumë cilësimet e shkëlqyera mysqldump:

-- bazat e të dhënave lejon mysqldump të përfshijë komandat CREATE DATABASE /*!33333 IF NUK EKSISTS*/ DBNAME dhe USE DBNAME në skriptin e rikuperimit. Kjo do t'ju lejojë të krijoni bazat e të dhënave të punës nga e para. Kjo do të thotë, pa përdorur --databases, supozohet se përdoruesi është duke rivendosur një bazë të dhënash të vetme dhe duke specifikuar në mënyrë eksplicite se ku duhet të vendosen të dhënat e restauruara. Nëse krijohet një kopje rezervë me qëllimin për të bërë një kopje plotësisht funksionale të të dhënave, për shembull, në një server tjetër MySQL, atëherë duhet të përdorni këtë çelës;

-- të gjitha bazat e të dhënave ju lejon të bëni kopje të të gjitha bazave të të dhënave që ekzistojnë në një server të caktuar MySQL. Nëse ju duhet të bëni kopje të vetëm disa bazave të të dhënave, ju vetëm duhet t'i specifikoni ato të ndara me një hapësirë ​​kur telefononi mysqldump nga linja e komandës(Shiko lart);

Celës --ndihmë. Programi mysqldump ka shumë versione. Ju mund të shihni se cilat veçori mbështeten në mënyrë specifike nga versioni juaj duke përdorur këtë çelës;

--add-drop-tabela- një ndërprerës që do të detyrojë mysqldump të shtojë një komandë të tabelës drop në skriptin që rezulton përpara se të krijojë tabela. Kjo do t'ju lejojë të shmangni disa gabime kur rivendosni një bazë të dhënash nga një kopje rezervë. Sigurisht, duhet të keni parasysh që tabelat e vendosura në kopjen e punës (nëse tabelat me të njëjtin emër ekzistojnë në kopje rezervë) do të fshihen nga baza e të dhënave kryesore dhe do të rikrijohen nga rezervimi përpara se të rikthehen nga rezervimi;

--nuk ka të dhëna. Duke përdorur këtë çelës, mund të bëni shpejt një kopje të strukturës së tabelës/bazës së të dhënave pa vetë të dhënat. Për shembull, ju keni krijuar një tabelë komplekse dhe dëshironi të ruani strukturën e saj për të ardhmen, por nuk ju nevojiten vetë të dhënat që janë në këtë tabelë në një kopje rezervë;

--skedari-rezultati=...- ky ndërprerës mund të përdoret për të ridrejtuar daljen në një skedar. Ju mund të përdorni ridrejtimin e rregullt të Unix me komandën ">", ose mund të përdorni këtë çelës. Kush pëlqen çfarë;

Një tjetër shumë këshilla të dobishme në përdorimin e mysqldump në një mjedis pritës. Si rregull, kur përdorni hostimin, përdoruesit i vendosen disa kufizime. Për shembull, nuk mund të huazoni më shumë se një shumë e caktuar kujtesa fizike(RAM, RAM). mysqldump si parazgjedhje vendos të gjitha të dhënat e marra nga serveri MySQL në memorie dhe më pas i shkruan të gjitha në disk. Prandaj, nëse ofruesi ju lejon të huazoni, për shembull, 30 MB memorie, dhe baza e të dhënave, të cilën po kopjoni duke përdorur mysqldump, zë 50 MB, natyrisht, këtu do të lindë një gabim - mysqldump nuk do të jetë në gjendje të funksionojë siç duhet dhe do të rrëzohet, për të cilën do t'ju informojë. Për të "detyruar" mysqldump të shkruajë të dhëna direkt në disk, në vend që t'i ruajë ato, qoftë edhe përkohësisht, në memorie, përdorni çelësin -- shpejt. Kjo do ta zgjidhë problemin.

Këtu janë disa shembuj më të dobishëm:

mysqldump -u rrënjë -p Pwd-f --default-character-set=cp1251 DBNAME| gzip -c > filename.txt .gz

Ju mund ta shpaketoni një arkiv të tillë me komandën:

gunzip filename.txt.gz

Për të ditur se në cilën datë është bërë rezervimi, mund të shkruani komandën e mëposhtme:

mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `data "+%Y-%m-%d"`.gz

dhe nëse duhet të bëni hale me kodime të ndryshme, atëherë është e përshtatshme të përdorni variabla:

vendosur DBKARAKTER= utf8

vendosur DBNAME= shkelje

mysqldump -u rrënjë -p Pwd-f --default-character-set=$ DBKARAKTER $DBNAME| bzip2 -c > sql. $DBNAME.`datë "+%Y-%m-%d"`.bz2

Nëse dëshironi të automatizoni heqjen e arkivave të vjetra, provoni të përdorni cron dhe komandën find, e cila zakonisht gjendet në unix. Vrapimi periodikisht

Gjej~/directory-with-archives -emri "*.gz" -mtime +7 -exec rm -f () \;

Kështu, ju do të fshini arkivat që janë "më të vjetër" se shtatë ditë.

Sot dua të flas për deponitë e bazës së të dhënave. Vetë kjo frazë dikur ishte e frikshme, megjithëse në përgjithësi nuk ka asgjë të frikshme në të. Pra, së pari, dhe pyetja kryesore: çfarë është një depon e bazës së të dhënave? Përgjigja për këtë është papritur e thjeshtë - një hale e bazës së të dhënave është një skedar me përmbajtjen e tij, i cili ju lejon të rivendosni bazën e të dhënave nga e para. Ato. është thjesht një kopje e saj. Pra, pse deponia e bazës së të dhënave nuk quhet "kopje e bazës së të dhënave"? Çështja është se një hale në vetvete nuk është një bazë të dhënash, ajo ju lejon vetëm ta rikrijoni atë. Çështja është se baza e të dhënave mund të ruhet në skedarë të ndryshëm varësisht nga versioni i bazës së të dhënave, nga lloji sistemi operativ dhe faktorë të tjerë. Ato. Gjetja e të gjithë skedarëve të një baze të dhënash në një sistem dhe transferimi i tyre në një sistem tjetër është shumë i vështirë. Për të lehtësuar këtë detyrë, përdoret një depo e bazës së të dhënave.

Pse është i nevojshëm transferimi i bazës së të dhënave?

Së pari, për të krijuar kopje rezervë, ose për të rivendosur pikat, përpara se të bëni ndryshime të rëndësishme në strukturë - në mënyrë që të jeni në gjendje të riktheheni nëse lindin ndonjë problem. Për shembull, ju vendosni komponent i palës së tretë, dhe faqja doli të jetë e pafuqishme si rezultat dhe ju duhet të rivendosni shpejt funksionimin e saj. Këtu lind nevoja për të përdorur një bazë të dhënash hale.

Së dyti, kur krijoni një faqe interneti, zakonisht bëhet fillimisht në makinë lokale nën një server virtual në internet dhe vetëm atëherë transferohet në hosting. Dhe nëse gjithçka është pak a shumë e qartë me transferimin e skedarëve, atëherë transferimi i bazës së të dhënave është një detyrë që nuk është aq e qartë e zgjidhshme. Këtu, gjithashtu, nuk mund të bëni pa një hale të bazës së të dhënave.

Pra, ne kuptuam se çfarë është baza e të dhënave. E vetmja pyetje që mbetet është se si ta përdorim atë. Le të shqyrtojmë një detyrë standarde në programimin e uebit - transferimin e një uebsajti të krijuar në një makinë lokale në web hosting. Nuk do të përshkruaj në detaje transferimin e skedarëve; do të përqendrohem në bazat e të dhënave. Pra, ne kemi një bazë të dhënash MySql dhe detyrën për ta transferuar atë në web hosting. Për të mos rishpikur rrotën, ne do të përdorim mjetin e përdorur gjerësisht phpMyAdmin, i cili, si rregull, instalohet gjithmonë nga ofruesi juaj dhe përfshihet gjithashtu në Denver. Në fund, programi është gjithashtu falas dhe i disponueshëm për shkarkim në faqen zyrtare të internetit. Ai funksionon në një server në internet dhe është i shkruar në gjuha php, i cili ju lejon ta përdorni direkt në shfletues. Ato. Nuk duhet të ketë asnjë problem këtu, nëse lindin, shkruani në komente dhe ne do ta zgjidhim atë.

Le të fillojmë të krijojmë një hale të dhënash. Hapni phpMyAdmin, zgjidhni bazën e të dhënave që na nevojitet dhe klikoni në "tab" Eksporto Si rezultat, ju duhet të merrni diçka të tillë:

Këtu ju duhet të zgjidhni të gjitha tabelat (ose ato në të cilat duhet të ktheni ndryshimet) dhe të vendosni butonin e radios Vlera SQL. Në seksionin Struktura, mund të shënoni fushën e parë "Shto TABELA E RREGULLIMIT / PAMJE / PROCEDURA / FUNKSION / NGJARJE" në mënyrë që para importimit të hale, të fshihen tabelat përkatëse në bazën e të dhënave të destinacionit; nëse transferohet për herë të parë, kutia e zgjedhjes mund të lihet e pakontrolluar. Në të njëjtën dritare më poshtë shohim seksionin "Ruaj si skedar":

Në fakt, shënoni "Ruaj si skedar" dhe shkruani emrin e skedarit të dëshiruar. Një depo e bazës së të dhënave mund të arkivohet, por zakonisht nuk është mjaft e madhe për ta bërë të vlefshëm ngjeshjen e skedarit. Shtypni butonin "GO" dhe merrni dritare standarde duke ruajtur skedarin në shfletues:
. Skedari i ruajtur është deponia e bazës së të dhënave. Nëse e hapni në të njëjtin bllok shënimesh, do të shihni në fillim të një rreshti si

PhpMyAdmin SQL Dump
-- versioni 3.2.3
-- http://www.phpmyadmin.net

Vetë skedari përbëhet nga pyetje për të krijuar dhe futur vlera në një tabelë, të shkruar në Gjuha SQL. Këtu nuk ka absolutisht asnjë shamanizëm, gjithçka është shumë e qartë. Tani detyra tjetër është të importoni deponinë. As me të nuk ka asgjë të komplikuar. Shkoni te paneli i kontrollit të pritjes, gjeni phpMyAdmin atje dhe hapeni atë. Mund t'ju duhet të specifikoni një hyrje/fjalëkalim, në varësi të cilësimeve të hostit. Epo, atëherë veprimet janë të ngjashme - zgjidhni bazën e të dhënave të dëshiruar, klikoni në skedën "Import", ne shohim dritaren e mëposhtme:

Në seksionin "Skedari për import", duke përdorur butonin "Shfleto", specifikoni skedarin e hedhjes së bazës së të dhënave, më poshtë futim kodimin - në joomla, si parazgjedhje është utf-8. Më poshtë është seksioni "Importi i pjesshëm" dhe fusha "Numri i regjistrimeve (pyetjeve) për të kapërcyer nga ylli" ku mund të futni vlerë numerike- numri i rreshtave të përpunuara në një kalim, në rast se e gjithë baza e të dhënave nuk ka kohë për t'u importuar gjatë jetës së skriptit. Vlera e paracaktuar "0" korrespondon me importimin e të gjithë bazës së të dhënave në një ekzekutim të skriptit. Në praktikën time, asnjëherë nuk më është dashur të merrem me faktin që baza nuk ka kohë të plotësojë një kalim, megjithëse kjo nuk do të thotë që raste të tilla nuk ndodhin. Vlerat e fushave të mbetura nuk kanë nevojë të ndryshohen, thjesht shtypni butonin "GO". Kjo është e gjitha, deponia e bazës së të dhënave është importuar.

Dhe në fund, disa sqarime.

1) Pse e përshkrova metodën e importimit/eksportimit të të gjitha tabelave dhe jo të gjithë bazës së të dhënave? Fakti është se më shpesh ju duhet të merreni me procedurën e importit/eksportit kur transferoni të dhëna nga një server në internet në një makinë lokale dhe anasjelltas. Por shumë shpesh në makinën lokale përdoret aksesi llogari"root" pa fjalëkalim. Ne nuk mund ta përballojmë këtë me pritjen. Dhe baza e të dhënave përmban jo vetëm të dhëna, por edhe "privilegje" - të drejtat për t'u qasur në të për përdorues të caktuar. Për të shmangur nevojën për të krijuar/fshirë përdorues çdo herë dhe për t'u caktuar atyre të drejta aksesi, përdoret një qasje ku vetëm struktura e tabelës dhe të dhënat në të regjistrohen në bazën e të dhënave. Nëse thjesht po krijoni një kopje rezervë për të njëjtin server, është mjaft e mundur të bëni një hale të të gjithë bazës së të dhënave.

2) Pse phpMyAdmin? Çështja këtu nuk është aspak se nuk ka alternativë për të - ka vetëm shumë prej tyre, ka gjëra më funksionale dhe më të thjeshta. Thjesht futet phpMyAdmin set standard per shumicen hosting virtual, d.m.th. Ju nuk keni nevojë të bëni absolutisht asgjë për ta instaluar atë. Ato. ne thjesht e hapim atë dhe hedhim bazën e të dhënave. Dhe sigurisht, përdorimi i phpMyAdmin mund të jetë i dobishëm për shumë detyra - të tilla si testimi i pyetjeve, shikimi i strukturës së tabelave dhe të dhënave në to.

Epo, kjo është në fakt gjithçka që doja t'ju tregoja në këtë artikull. Komentet janë të mirëseardhura si gjithmonë.

Ky mjet ju lejon të merrni një depon ("snapshot") të përmbajtjes së një baze të dhënash ose një koleksion bazash të dhënash për të krijuar një kopje rezervë ose për të dërguar të dhëna në një server tjetër të bazës së të dhënave SQL (jo domosdoshmërisht një server MySQL). Deponia do të përmbajë një grup komandash SQL për të krijuar dhe/ose mbushur tabelat.

Nëse kopje rezervëështë krijuar në server, atëherë në vend të mjetit të përshkruar duhet të përdorni mysqlhotcopy. Shih seksionin 4.8.6 mysqlhotcopy, Kopjimi i bazave të të dhënave dhe tabelave MySQL.

Shell> bazën e të dhënave mysqldump ose mysqldump -- bazat e të dhënave DB1 ose mysqldump -- të gjitha bazat e të dhënave

Nëse nuk specifikoni emrat e tabelave ose nuk përdorni opsionet --database ose --all-databases, do të merret një deponim i të gjithë bazës së të dhënave (përkatësisht, i të gjitha bazave të të dhënave).

Një listë opsionesh të mbështetura nga versioni juaj specifik i mysqldump mund të merret duke ekzekutuar komandën mysqldump --help.

Ju lutemi vini re se programi mysqldump, i përdorur pa opsionet --quick ose --opt, do të ngarkojë të gjithë rezultatin në memorie përpara se të hedhë rezultatin e marrjes së informacionit. Kjo mund të krijojë probleme kur hidhni një bazë të dhënash të madhe.

Vini re se nuk duhet të përdorni opsionet --opt ose -e nëse keni ndërmend ta përdorni për të marrë një hale kopje e re program mysqldump dhe më pas luaje në një server shumë të vjetër MySQL.

Shërbimi mysqldump mbështet opsionet e mëposhtme:

Add-locks Shtoni komanda LOCK TABLES para ekzekutimit dhe UNLOCK TABLE pas ekzekutimit të çdo deponimi të tabelës (për të shpejtuar aksesin në MySQL). --add-drop-table Shtoni një komandë DROP TABLE përpara çdo komande CREATE TABLE. -A, --të gjitha bazat e të dhënave Hidhni të gjitha bazat e të dhënave. Ngjashëm me opsionin --database, duke specifikuar të gjitha bazat e të dhënave. -a, --all Aktivizo të gjitha opsionet e krijimit të objekteve specifike për MySQL. --allow-keywords Lejo krijimin e emrave të kolonave që përputhen me fjalë kyçe. Mungesa e konflikteve sigurohet duke shtuar emrin e tabelës si parashtesë në emrin e secilës kolonë. -c, --complete-insert Use komandat e plota INSERT (me emrat e kolonave). -C, --compress Përdorni kompresimin e të gjithë informacionit midis klientit dhe serverit nëse të dy mbështesin kompresimin. -B, --baza e të dhënave Hidh bazat e të dhënave të shumta. Vini re ndryshimin në përdorim: në këtë rast nuk specifikohen tabela. Të gjithë emrat e argumenteve trajtohen si emra të bazës së të dhënave. PËRDORIMI i deklaratës db_name; përfshihet në dalje para çdo bazë të dhënash të re. --e vonuar Përdorni komandën INSERT DELAYED kur futni rreshta. -e, --extended-insert Përdorni komandën INSERT me sintaksën e re me shumë rreshta (përmirëson kompaktësinë dhe performancën e deklaratave hyrëse). -#, --debug[=option_string] Monitoroni ecurinë e programit (për korrigjimin e gabimeve). --ndihmë Printo informacion në sfond dhe dilni nga programi. --fields-terminated-by=... --fields-enclosed-by=... --fields-optionally-enclosed-by=... --fields-escaped-by=... --lines- terminated-by=... Këto opsione përdoren në lidhje me opsionin -T dhe kanë të njëjtin kuptim si deklaratat përkatëse për LOAD DATA INFILE . Shihni seksionin 6.4.9 Sintaksa e deklaratës LOAD DATA INFILE. -F, --flush-logs Shkruani të dhëna në disk syslog nga buferi i serverit MySQL para fillimit të deponimit. -f, --force, Vazhdo edhe nëse merr një gabim SQL gjatë kryerjes së një depozitimi të tabelës. -h, --host=.. Hidhni të dhënat e serverit MySQL në hostin e specifikuar. Vlera e paracaktuar e hostit është localhost. -l, --bllokoj-tavolina. Mbyllni të gjitha tavolinat përpara se të filloni deponinë. Tavolinat janë të kyçura LEXONI deklaratën LOCAL për të lejuar shkrime të njëkohshme për tabelat MyISAM. Duhet të theksohet se gjatë kryerjes së një grumbullimi të bazave të të dhënave, opsioni --lock-tables bllokon tabelat e secilës bazë të dhënash individualisht. Prandaj, përdorimi i këtij opsioni nuk garanton që tabelat do të jenë logjikisht të qëndrueshme brenda këtyre bazave të të dhënave. Në baza të ndryshme të dhënash, tabelat mund të jenë në gjendje krejtësisht të ndryshme kur kryhet një deponim. -K, --disable-keys Shton shprehjen /*!40000 ALTER TABLE tb_emri DISABLE KEYS */; dhe /*!40000 TABELA E NDRYSHIMIT tb_emri TABELA E AKTIVIZIMIT */; në daljen e rezultatit. Kjo do të përshpejtojë ngarkimin e të dhënave në Serveri MySQL 4.0, meqenëse indekset krijohen pasi të jenë futur të gjitha të dhënat. -n, --no-create-db Në dalje shprehja CREATE DATABASE /*!32312 NËSE NUK EKZISTON*/ db_emri; do të mungojë. Kjo linjë do të shtohet gjithsesi kur përdorni opsionet --database ose --all-databases. -t, --no-create-info Mos regjistro informacionin e krijimit të tabelës (komandë CREATE TABLE). -d, --no-data Mos shkruani informacion nga rreshtat e tabelës. Kjo është shumë e dobishme për strukturën e tavolinës së hedhjes! --opt Njëlloj si --i shpejtë --add-drop-table --add-locks --extended-insert --lock-tabs . Duhet të japë hale më të shpejtë për të lexuar në një server MySQL. -pyour_pass, --password[=your_pass] Fjalëkalimi për t'u përdorur kur lidheni me serverin. Nëse =your_pass nuk është dhënë, mysqldump do t'ju kërkojë një fjalëkalim. -P port_num, --port=port_num Numri i portit TCP/IP që përdoret për t'u lidhur me hostin (përdoret kur lidhet me hostë të ndryshëm nga localhost , i cili përdor bazat Unix). -q, -- i shpejtë Hidh direkt në stdout pa e zbutur kërkesën. Për këtë përdoret funksioni mysql_use_result(). -Q, --quote-names Emrat e tabelave të kuotave dhe kolonave pa karaktere ``. -r, --result-file=... Dalje direkte skedari i specifikuar. Ky opsion duhet të përdoret në MS DOS sepse parandalon që karakteri i linjës së re "\n" të konvertohet në sekuencën "\n\r" ( linjë e re+ kthimi i karrocës). --single-transaction Ky opsion lëshon një komandë BEGIN SQL përpara se të kryejë një grumbullim të të dhënave nga serveri. Më shpesh përdoret me tabelat InnoDB dhe nivelin e izolimit të transaksionit READ_COMMITTED, pasi është në këtë mënyrë që ju mund të hiqni gjendjen e qëndrueshme të bazës së të dhënave pas ekzekutimit të komandës BEGIN pa bllokuar asnjë aplikacion. Kur përdorni këtë opsion, duhet të mbani mend se kur kryeni një hale, vetëm tabelat e transaksioneve do të jenë në një gjendje konsistente, d.m.th. Disa tabela MyISAM ose HEAP mund të ndryshojnë ende gjendjen e tyre kur përdoret ky opsion. Opsioni --single-transaction u shtua në versionin 4.0.2. Është reciprokisht ekskluzive me opsionin --lock-tables sepse komanda LOCK TABLES anulon transaksionin e mëparshëm. -S / path/to/socket, --socket=/path/to/socket Skedari i folesë për t'u lidhur me localhost (host i parazgjedhur). --tabela Anulon opsionin --databases (-B). -T, --tab=rruga-në-disa-drejtori Për secilin tabelën e dhënë krijon një skedar `table_name.sql” që përmban komandat SQL CREATE për të krijuar tabelën dhe një skedar `table_name.txt” që përmban të dhënat e tabelës. Skedari '.txt' është i formatuar sipas opsioneve --fields-xxx dhe --lines--xxx. shënim: Ky opsion funksionon vetëm nëse programi mysqldump funksionon në të njëjtën makinë si daemon mysqld dhe përdoruesi/grupi funksionon këtë rrymë mysqld (zakonisht përdoruesi mysql dhe grupi mysql) duhet të kenë leje për të krijuar/shkruar një skedar në adresën e specifikuar. -u user_name, --user=user_name Emri i përdoruesit të serverit MySQL përdoret kur lidhet me serverin. Vlera e paracaktuar është emri i përdoruesit Unix. -O var=opsion, --set-variable var=option Vendos vlerat e variablave. Variablat e disponueshëm për përdorim janë renditur më poshtë. -v, --fjalëshi Modaliteti i përmirësuar i daljes. Përfundim më shumë informacion i detajuar për punën e programit. -V, --versioni Printoni informacionin e versionit dhe dilni nga programi. -w, --where="where-condition" Hidhni vetëm të dhënat e zgjedhura. Ju lutemi vini re se thonjëzat janë të nevojshme. "--where=user="jimf"" "-wuserid>1" "-wuserid -X, --xml Përfaqëson një depozitim të bazës së të dhënave si XML. -x, --first-slave Bllokon të gjitha tabelat në të gjitha bazat e të dhënave. -O net_buffer_length=#, ku # Përdorimi më i zakonshëm i mjetit mysqldump është marrja e një kopje rezervë të të gjitha bazave të të dhënave. Shih seksionin 4.4.1 Rezervimi i bazës së të dhënave. mysqldump --opt database > backup-file.sql

Baza e të dhënave Mysql

Mysql -e bazën e të dhënave "burimi /patch-to-backup/backup-file.sql"

Ky mjet përdoret shpesh për të transferuar informacion nga një bazë të dhënash në një server tjetër MySQL:

Mysqldump --opt database | mysql --host=remote-host -C database

Është mjaft e mundur të hidhen baza të të dhënave të shumta me një komandë:

Mysqldump --databaza e të dhënave1 > my_database.sql

Nëse keni nevojë të hiqni të gjitha bazat e të dhënave, mund të përdorni:

Mysqldump --all-databases > all_databases.sql

Artikujt më të mirë mbi këtë temë