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 zhvendoseni atë në një server tjetër. Kjo kërkon jo vetëm transferimin e skedarëve të faqes, por edhe transferimin. Përpara se të filloni të transferoni një faqe interneti, duhet të zgjidhni një të mirë dhe ta porosisni atë në mënyrë që të keni akses në një llogari të re pritjeje. Ne, për shembull, ofrojmë të pavarur, Joomla dhe PrestaShop. Nëse dëshironi të transferoni 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 ofrojë gjithashtu një domen falas. Nëse faqja juaj nuk ka pritje të mjaftueshme virtuale, gjithmonë mund të porosisni VPS ose .
Për të transferuar një bazë të dhënash, së pari duhet të krijoni një hale, 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. Shkoni te phpMyAdmin, zgjidhni bazën e të dhënave që dëshironi të transferoni në të majtë dhe klikoni në " Eksporti» në menunë e sipërme.
Do të hapet një kuti dialogu, në të cilën sigurohuni që të zgjidhni llojin e bazës së të dhënave SQL, pastaj klikoni butonin Ne rregull. Prisni që 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 MySQL në llogarinë cPanel, të shtoni një përdorues në të dhe t'i caktoni privilegje. Më poshtë është rendi se si të krijoni 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, duhet të krijoni një përdorues MySQL për bazën e të dhënave dhe të vendosni një fjalëkalim për të. Pasi të keni futur të gjitha të dhënat, klikoni " Krijo 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ë si duhet në hapat e mëparshëm, magjistari i bazës së të dhënave do t'ju njoftojë për përfundimin me sukses të krijimit të një baze të dhënash në host.
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 të cPanel, zgjidhni artikullin e menysë " phpMyAdmin"në të njëjtin seksion" Baza e të dhënave". Në dritaren që hapet, në menynë në të majtë, zgjidhni bazën e të dhënave të krijuar rishtazi dhe klikoni në skedën " Importi» në menunë e sipërme.
Klikoni butonin zgjidhni një skedar”, 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ë importimi i bazës së të dhënave ishte i suksesshëm.
Mbi këtë, të gjitha hapat e nevojshëm për të transferuar bazën e të dhënave në një tjetër janë përfunduar.
Ideja e artikullit është krijimi i një manuali cilësor për instalimin dhe punën me programin mysqldump. Aplikimi, shumë shembuj dhe mbledhja e të gjitha opsioneve dhe parametrave të dobishëm për të punuar me këtë mjet. Çdo gjë në një artikull është e vështirë për t'u përshtatur, kështu që gjithçka do të jetë e shkurtër dhe e saktë. Nëse dikush keqkupton diçka, ne i drejtohemi komenteve në artikull.
Seksionet:
Instalimimysqldump:
Çfarë është mysqldump?
MySQLdumpështë një aplikacion serveri që ju lejon të kopjoni (në tekstin e mëtejmë referuar si hale) bazat e të dhënave dhe t'i ruani ato në një skedar të veçantë. Në të njëjtën kohë, mund të zbatoni cilësime fleksibël të depozitimit: disa ose të gjitha bazat e të dhënave, arkivimi i gzip, shtimi i bllokimit, komandat e lëshimit dhe shumë më tepër. Importimi i kundërt i kopjeve rezervë të bazës së të dhënave është gjithashtu i mundur. Mund të bëhet duke përdorur PHP, por kjo është e papranueshme për projekte të mëdha që kanë një peshë të madhe të dhënash.
Ky program është shumë i dobishëm në zbatimin e eksportit dhe importimit të të dhënave nga baza e të dhënave. Mund të instalohet standard në hostin tuaj (më saktë serverin mysql). Por për të përmirësuar aftësitë tuaja me mysqldump dhe për të mësuar se si ta instaloni, mund ta vendosni në denwer. Çfarë do të bëjmë tani.
Shkarko mysqldump
Ju gjithmonë mund ta shkarkoni programin mysqldump nga faqja jonë e internetit, ndërsa shkarkimi i aplikacionit është plotësisht falas. Shkarkoni mysqldump nga lidhja direkte më poshtë.
Si të instaloni mysqldump?
Ne do të instalojmë në serverin lokal Denwer. Instalimi i aplikacionit është i lehtë dhe i thjeshtë, për këtë, ndiqni udhëzimet dhe pamjet e ekranit të dhëna më poshtë.
1.Kopjo skedarin mysqldump.exe në dosjen Denver:
D:\WebServers\usr\local\mysql5\bin\
Në këtë rast, mund të keni një emër paksa të ndryshëm për dosjen mysql5, për shembull mysql-5.1 ose një pak të modifikuar. Prandaj, për qartësi më të madhe, një pamje e ekranit është dhënë më poshtë:
2. Nisni Denverin
Me siguri ju vetë e dini se si të filloni Denwer.
3. Nisni konsolën:
Start->Run->cmd.exe ose në Windows 7: Start->Search->Entercmd.exe->Hyni siç tregohet në pamjen e ekranit:
4. Testimi:
Me ndihmën e komandave në tastierë, shkojmë në diskun virtual të Denverit (kam W:\) dhe në dosjen me aplikacionin mysqldump. Për të konfirmuar ekzekutimin e komandës, shtypni Enter.
Ne futim komandat:
W:- shkoni te disku virtual i Denverit
cdusr\lokal\mysql5\kosh- shkoni te dosja me aplikacionin
mysqldump -uroot yourdbname>filename.sql- ne testojmë, hedhim një bazë të dhënash arbitrare në një skedar që do të ruhet në dosjen bin.
Instalimi im ishte i suksesshëm, shpresoj që edhe ju të jeni. Në dosjen bin gjejmë skedarin rezervë të bazës së të dhënave. Për të mësuar se si ta përdorni programin më gjerësisht, lexoni seksionet e mëposhtme të artikullit.
Fillimi: Eksportimi dhe importimi i një baze të dhënash
Eksportimi i bazës së të dhënave
Ne kemi instaluar tashmë aplikacionin dhe kemi mësuar se si të përdorim konsolën. Ne kemi bërë tashmë një deponi testimi. Tani do të bëjmë një hale të thjeshtë të bazës së të dhënave në drejtorinë që na nevojitet. Për ta bërë këtë, unë krijova bazën e të dhënave të përdorur më parë të quajtur "test". Ndodhet në serverin lokal denwer. Më poshtë janë komandat hap pas hapi të konsolës për hedhjen e bazës së të dhënave të testimit në dosjen dhe skedarin e dëshiruar.
W: cdusr\local\mysql5\bin mysqldump -uroot test>D:\test\easydump.sql
Pamja e ekranit më poshtë tregon skedarin e hale në dosjen e provës:
Eksporti përfundoi me sukses. Tani le të përpiqemi ta importojmë këtë skedar përsëri në serverin tonë.
Importi i bazës së të dhënave
Për të importuar bazën e të dhënave, pastroni bazën e të dhënave në phpmyadmin dhe përdorni komandën e mëposhtme në cmd.exe:
testi mysql -uroot Shënim i rëndësishëm: nëse gjatë eksportit kemi përdorur mysqldump..., atëherë kur importoni, duhet të filloni komandën me mysql. Ky shembull është përdorimi bazë i aplikacionit mysqldump për të krijuar kopje rezervë të bazës së të dhënave. Do të gjeni edhe më shumë komanda dhe shembuj në seksionin dhe artikullin. Shembujt më të përdorur të përdorimit të mysqldump janë dhënë më poshtë. Me të cilin jo vetëm që mund të bëni një kopje rezervë, por edhe të shtoni disa opsione rezervë: kompresim me gzip, shtimin e një date rezervë, hedhjen e vetëm disa tabelave ose strukturave të bazës së të dhënave, duke përdorur cilësime fleksibël. Këto opsione ju lejojnë të shpejtoni hedhjen dhe të kurseni hapësirën në disk. -u ose --përdoruesi=...- Emri i përdoruesit -h ose --host=...- host në distancë (për host lokal, mund ta hiqni këtë parametër) -fq ose --fjalëkalim- kërkoni një fjalëkalim bazën e të dhënave- emri i bazës së të dhënave të eksportuara /path/to/file/dump.sql- rruga dhe skedari për hale Ne hedhim disa baza të dhënash, për këtë përdorim atributin --database ose shkurt -B, shikoni shembullin më poshtë: mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql Nëse dëshironi të hiqni të gjitha bazat e të dhënave, duhet të përdorni opsionin --all-databases ose -A stenografi, shikoni shembullin: mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql Për ta bërë këtë, duhet të përdorni opsionin --no-data siç tregohet në shembullin më poshtë: mysqldump --no-data -uUSER -pPASSWORD BAZA E TË DHËNAVE > /path/to/file/schema.sql Siç u përmend më herët, këto atribute zvogëlojnë madhësinë e skedarit që rezulton dhe shpejtojnë procesin e rezervimit. Më saktë: -P mbështillni emrat me thonjëza të pasme -c bën një insert të plotë, duke përfshirë emrat e kolonave -e bën një insert të zgjeruar. Ky postim përmban komandat më të përdorura për krijimin ose vendosjen e kopjeve rezervë të bazave të të dhënave MySQL. Epo, thjesht jam lodhur nga çelësat e Google vazhdimisht kur më duhen "papritmas". Pak teori.. MySQLDUMP është një mjet që ju lejon të kopjoni bazat e të dhënave MySQL. Në fund, marrim një skedar .sql me një bazë të dhënash hale. Ky skedar përmban kodin Sql në formë teksti, d.m.th. mund të hapet gjithmonë me një redaktues teksti për të parë, modifikuar, etj... Nga rruga, ekziston edhe një mjet i tillë si MySqlHotCopy, i cili përdoret më së miri për të krijuar kopje rezervë të nxehtë, pasi bllokon bazën e të dhënave dhe kopjon skedarët e bazës së të dhënave në vendin e duhur. Por kjo gjë do të funksionojë vetëm nëse ekzekutohet në vetë serverin, funksionon vetëm me tabelat MyISAM dhe Archive dhe është më e përshtatshme për baza të të dhënave të mëdha. Por, në përgjithësi, nuk bëhet fjalë për të ... mbase do të shkruaj për "kopjen e nxehtë" në një artikull tjetër ... Le të fillojmë me komandën më të zakonshme për të hedhur faqen site.ru në skedarin site.ru: mysqldump -uroot -h10.30.30.10 -p site_ru > site_ru.sql Për të bërë një kopje rezervë të disa bazave të të dhënave, mund të përdorni çelësin -B dhe specifikoni disa baza të dhënash, këtu është një shembull: mysqldump -uroot -h10.30.30.10 -p site_ru site2_ru site3_ru > sites.sql Nëse situata nuk jep kohë për të menduar, dhe ju duhet të rezervoni të gjitha bazat e të dhënave, atëherë në këtë situatë mund të përdorni çelësin -- të gjitha bazat e të dhënave, këtu është një shembull: mysqldump -uroot -h10.30.30.10 -p -A > all-db.sql Nga rruga, ka një nuancë. Nëse bëni kopje rezervë të bazës së të dhënave në një server që funksionon, dhe për më tepër, i përdorur në mënyrë aktive, atëherë rrezikoni të merrni lidhje logjike të prishura. Ka disa mënyra për të shmangur këtë. Mënyra e parë është mbyllja e tavolinave, d.m.th. ju mund të përdorni opsionin --lock-tables, këtu është një shembull: mysqldump -uroot -h10.30.30.10 -p --lock-tabels site_ru > site_ru.sql Por në momentin e krijimit të një kopje rezervë, kërkesat e klientit do të pezullohen .. dhe për këtë arsye mund të ketë afate. Mënyra e dytë është të përdorni tastin --flush-log kur krijoni një kopje rezervë. Ky çelës do të mbyllë regjistrin e vjetër të aktiviteteve dhe do të krijojë një të ri. Nëse dikush shkruan diçka në procesin e krijimit të një kopjeje, kjo do të pasqyrohet në fillim të regjistrit dhe do të jetë e mundur të transferohet ky ndryshim në bazën e të dhënave. Më tej, për t'u siguruar, pasi të keni përfunduar rezervimin, duhet të ekzekutoni komandën mysqladmin -flush-logs dhe të lini një kopje të regjistrit binar të parafundit. Shërbimi "mysql" tashmë do të sundojë këtu. Këtu është një shembull: Mysql -uroot -h10.30.30.10 -p site_ru< site_ru.sql
Një mënyrë tjetër, më pedant: Mysql -uroot -p Futni fjalëkalimin: Mirë se vini në monitorin MySQL. Komandat mbarojnë me ; ose\g. ID-ja juaj e lidhjes MySQL është versioni 35 i serverit: 5.6.35-1+deb.sury.org~xenial+0.1 (Ubuntu) E drejta e autorit (c) 2000, 2016, Oracle dhe/ose filialet e saj. Të gjitha të drejtat e rezervuara. Oracle është një markë tregtare e regjistruar e Oracle Corporation dhe/ose filialeve të saj. Emrat e tjerë mund të jenë marka tregtare të pronarëve të tyre përkatës. Shkruani "ndihmë;" ose "\h" për ndihmë. Shkruani "\c" për të pastruar deklaratën aktuale të hyrjes. mysql> përdorni site_ru; mysql> burim site_ru.sql; Epo, nëse databaza juaj ruhet në një arkiv gz, atëherë mund të kombinoni komandat mysql dhe zcat si kjo: Zcat site_en.sql.gz | mysql -uroot -h10.30.30.10 -p site_ru Për shembull, ne kemi nevojë për një bazë të dhënash për zonën dev, një sandbox, si të thuash, dhe madhësia e bazës së të dhënave kryesore është shumë e madhe. Ju mund të përdorni çelësin - ku = "kufiri i vërtetë 150", për të cilin ne do të specifikojmë në mënyrë eksplicite një mostër të dhënash me jo më shumë se 150 regjistrime. Këtu është një shembull: mysqldump -uroot -h10.30.30.10 -p --where="kufiri i vërtetë 150" site_ru > site_ru.sql Nëse na duhet vetëm një strukturë pa të dhëna, atëherë mund të përdorim çelësin --no-data, këtu është një shembull mysqldump -uroot -h10.30.30.10 -p --no-data site_ru > site_ru.sql Nëse na duhet një kopje e vetëm një tabele, atëherë këtu është një komandë shembull: mysqldump -u root -p testdb emri i tabelës > testdb_table_backup.sql Nëse kemi nevojë për një kopje të nxitësve, procedurave dhe ngjarjeve (planifikues i integruar), atëherë këtu është një shembull: Mysqldump --no-create-info --no-data --triggers --rutinat --events -uroot -p site_ru | gzip > ~/database.sql.gz Ju gjithashtu mund të krijoni menjëherë një depon të bazës së të dhënave të arkivuar. Ju mund ta bëni këtë si kjo: mysqldump -uroot -p site_ru | gzip > /path/to/site_ru.sql.gz Dhe gjithashtu mund të specifikoni datën e krijimit të arkivit, si kjo: mysqldump -uroot -p site_ru | gzip > `data +/path/to/site_ru.sql.%Y%m%d.%H%M%S.gz` Më poshtë janë çelësat më të njohur mysqldump: Zgjero listën... Hedhja dhe rivendosja e një baze të dhënash MySQL është mjaft e lehtë dhe e përshtatshme për t'u bërë nga distanca përmes SSH ose drejtpërdrejt përmes tastierës së serverit. Nga distanca, kjo mund të bëhet duke përdorur programet Putty/Kitty. Ju gjithashtu mund të ekzekutoni shembujt e mëposhtëm në Windows duke ekzekutuar vijën e komandës ' cmd'. Më poshtë janë shembuj se si të krijoni deponime të bazës së të dhënave MySQL dhe më pas t'i rivendosni ato nëse është e nevojshme, për shembull për faqen tuaj të internetit, dyqanin online ose ndonjë projekt tjetër. Për të ekzekutuar këto komanda, lidheni nga distanca me serverin tuaj nëpërmjet SSH duke përdorur një nga programet e listuara më sipër. Pas lidhjes dhe autorizimit me serverin/hostin, mund të futni komandat më poshtë. # Rezervoni një bazë të dhënash për skedarin dump_file.sql mysqldump -uroot -p your_base > dump_file.sql # Në Windows, është më mirë të krijoni një hale me një komandë paksa të ndryshme, e cila parandalon # mbishkrimin aksidental të linjave dump për shkak të konvertimit të karaktereve të linjës së re "\r\n" në "\n" mysqldump -uroot -p your_base -r dump_file_utf8.sql # Nëse keni nevojë të kopjoni vetëm tabela individuale, jo të gjithë bazën e të dhënave # (specifikoni emrat e tabelave me një hapësirë pas emrit të bazës së të dhënave) mysqldump -uroot -p your_base TABLE1 TABLE2 TABLE3 > dump_file.sql # Nëse keni nevojë të kopjoni vetëm strukturën e bazës së të dhënave pa vetë të dhënat mysqldump -uroot -p --no-data your_base > dump_file.sql # Rezervoni të gjitha bazat e të dhënave në current_date.gz mysqldump -uroot -p --të gjitha_bazat e të dhënave | gzip -c > "data "+%Y-%m-%d"".gz # Rezervimi, ku krijohet një INSERT i veçantë për çdo rekord # dhe duke specifikuar në mënyrë eksplicite bazën e të dhënave UTF-8 që kodon mysqldump -uroot -p --default - character-set=utf8 your_base --extended-insert=FALSE | gzip -c > "data "+%Y-%m-%d"".gz # Rezervoni një bazë të dhënash në dump_file.sql mysqldump - uroot - p your_base > dump_file . sql # Në dritare, hedhja bëhet më së miri me një komandë paksa të ndryshme që parandalon # mbishkrim i rastësishëm i linjave të grumbulluara për shkak të konvertimit të karaktereve të linjës së re "\r\n" në "\n" mysqldump - uroot - p your_base - r dump_file_utf8 . sql # Nëse duhet të kopjoni vetëm tabela individuale, jo të gjithë bazën e të dhënave # (specifikoni emrat e tabelave me një hapësirë pas emrit të bazës së të dhënave) mysqldump - uroot - p your_base TABLE1 TABLE2 TABLE3 > dump_file . sql # Nëse keni nevojë të krijoni një kopje rezervë vetëm të strukturës së bazës së të dhënave pa vetë të dhënat mysqldump - uroot - p -- no - data your_base > dump_file . sql # Rezervoni të gjitha bazat e të dhënave në skedarin aktual_date.gz mysqldump - uroot - p -- të gjitha_bazat e të dhënave | gzip - c > "data "+%Y-%m-%d"" . gz # Rezervimi, ku krijohet një INSERT i veçantë për çdo hyrje # dhe duke specifikuar në mënyrë eksplicite kodimin e bazës së të dhënave UTF-8 mysqldump - uroot - p -- default - karakter - set = utf8 your_base -- extensioned - insert = FALSE | gzip - c > "data "+%Y-%m-%d"" . gz Në shembullin e mësipërm, programi përdoret për të krijuar një kopje rezervë. mysqldump, e cila është përfshirë me mysql. Më poshtë janë parametrat për krijimin e një kopje rezervë të bazës së të dhënave, të cilat do t'i analizojmë më në detaje: "data "+%Y-%m-%d"" "data "+%Y-%m-%d"" Kujdes! Nëse specifikoni vetëm emrin e skedarit, atëherë ai do të ruhet në të njëjtin direktorium kundrejt të cilit e ekzekutoni këtë komandë. ato. nëse shihni diçka të tillë #
, ku [email i mbrojtur]
është emri i hyrjes dhe serverit, atëherë skedari do të krijohet në drejtori /shtëpi. Për të ndryshuar ruajtjen e skedarit në një shteg tjetër, specifikoni shtegun e plotë për të ruajtur skedarin në vend të emrit, për shembull: /var/www/backup/dump_file.sql. Tani le të hedhim një vështrim në procesin e kundërt të rivendosjes së një baze të dhënash nga një skedar hale. Ky veprim kryhet duke përdorur programin mysql. Le të shohim një shembull menjëherë.Shembuj hale MySQL
Krijimi i një hale
mysqldump –uUSER -h82.82.82.82 -pBAZA E TË DHËNAVE PASSWORD > /path/to/file/dump.sql Krijoni një strukturë bazë të dhënash pa të dhëna
Ne krijojmë një grumbull të vetëm një ose disa tabelave të bazës së të dhënave
mysqldump -uUSER -pPASSWORD BAZA E TË DHËNAVE TABELA1 TABELA2 TABELA 3 > dump.sql Krijoni një hale dhe arkivoni atëgzip
mysqldump -u BAZA E TË DHËNAVE TË PËRDORËSVE -pPASSWORD | gzip > /path/to/outputfile.sql.gz Krijo një hale me datën në emrin e skedarit
mysqldump -uUSER -p BAZA E TË DHËNAVE PASSWORD | gzip > `data +dump.sql.%Y%m%d.%H%M%S.gz` Përdorimi i atributeve shtesë
mysqldump -Q -c -e -uUSER -pPASSWORD BAZA E TË DHËNAVE > /path/to/file/dump.sql
Ju mund të rivendosni një hale të tillë duke përdorur programin mysql nëpërmjet STDIN.
Ju mund t'i rivendosni të dhënat duke kopjuar skedarët e ruajtur në drejtorinë e të dhënave MySQL.Krijoni një kopje rezervë të bazës së të dhënave
Më shumë rreth çelësave:
Rivendosja e një kopje rezervë të bazës së të dhënave
Më shumë përdorime për mysqldump
Çelësat për përdorimin e mysqldump
Hedhja e një baze të të dhënave MySQL
pas kësaj rreshti në shembull, zgjerimi i skedarit ' .gz'. Si rezultat, një skedar i formularit ' 2014-11-15.gz‘.
Rivendosja e një baze të dhënash nga një skedar hale MySQL