Bilang isa sa mga nangungunang database na malayang magagamit, MySQL ay isang popular na pagpipilian para sa lahat ng mga uri ng mga web application. Ang pagiging napakita sa Internet, ang iyong app ay siyempre nailantad sa malisyosong atake. Kung nakompromiso ang iyong server, kailangan mo munang muling i-install ang iyong application; sa pinakamasama, maaari mong mawala ang iyong data nang buo. Sa kalaunan ay magkakaroon ka rin ng isang sitwasyon kung saan kailangan mong maglipat ng isang database mula sa isang server papunta sa isa pa.
Ano ang Ginamit ng mysqldump?
Ang mysqldump Nabaklas ka na para sa parehong mga sitwasyong ito. Ang pangunahing pag-andar ay ang kumuha ng database ng MySQL at "dump" ito bilang isang text file. Ngunit hindi lamang ang anumang tekstong file … ang file ay isang set ng mga SQL statement. Ang mga pahayag na ito, kapag naisakatuparan, ay bubuo muli ng iyong database sa tumpak na estado na ito ay noong ikaw ay isinasagawa ang dump.
Kaya maaari mong gamitin mysqldump upang kumuha ng mga pag-export ng isang database. Ang mga ito ay maaaring para sa layunin ng pag-backup, o dahil inililipat mo ang database sa isang bagong host. Sa alinmang kaso, makikita mo sa isang punto angkat ang text file pabalik sa isang MySQL database server. Gagawin nito ang lahat ng pahayag ng SQL sa file, na muling nagtatayo ng iyong DB sa orihinal na estado nito. Ang bahaging ito ay hindi talaga ginagamit ang mysqldump utos, ngunit hindi ito magiging posible nang wala ang utility na ito!
Ang MySQL docs ay naglilista ng iba pang mga paraan ng paggawa ng mga backup, ngunit ang mga ito ay may sariling mga kakulangan:
- Hotcopying isang DB mula sa MySQL Enterprise ay isang mahusay na paraan upang makamit ang mga pag-backup na ito … kung hindi mo isip ang Enterprise presyo tag.
- Ang pagkopya sa mga direktoryo ng data ng DB ay maaaring nakakalito kung ikaw ay lumilipat sa mga operating system, dahil ang kanilang destinasyon ay magkakaiba.
- Ang pag-export sa isang delimited text file ay magbibigay sa iyo ng nilalaman, ngunit kailangan mong muling likhain ang istraktura ng iyong sarili. At mas mahusay mong makuha ito tama lang …
- Madalas mong mai-backup ang mga database mula sa mga program ng GUI tulad ng MySQL Workbench. Ngunit ito ay isang manu-manong proseso, io hindi isang bagay na maaari mong script o isama sa isang batch trabaho.
Pag-install ng mysqldump Tool
Kung interesado ka sa artikulong ito, malamang na mayroon ka nang naka-install na MySQL. Kung ganiyan ang kaso, magandang balita-mayroon ka na mysqldump! Kung hindi, maaari mo lamang i-install ang MySQL sa karaniwang paraan para sa iyong operating system.
Para sa Windows, tingnan ang aming mga tagubilin dito para sa pag-install ng MySQL sa Windows 7 (ang proseso ng pag-install ay magkakaroon pa rin ng parehong). Gayundin sa macOS, tingnan ang aming mga direksyon upang mai-install ang MySQL sa macOS 10.7 (muli, mas matanda ngunit naaangkop pa rin). Ang mga gumagamit ng Ubuntu-based na mga sistema ng Linux ay maaaring gumamit ng sumusunod na utos upang i-install ang MySQL client at mga kagamitan:
sudo apt install mysql-client Sa sandaling naka-install, maaari mong gamitin mysqldump upang makakuha ng isang buong backup ng iyong database. mysqldump -h pangalan o IP ng iyong host -u pangalan ng DB user -p ang pangalan ng database> db_backup.sql
Susubukan naming masira ang utos na ito: Kapag tapos na ito, magkakaroon ka ng isang .SQL file. Ito ay isang tekstong file na naglalaman ng mga SQL statement. Maaari mong buksan ito sa anumang editor ng teksto upang siyasatin ang mga nilalaman. Naghahanap sa isang pag-export mula sa isang database ng WordPress, maaari mong makita kung paano ang mga file na ito ay magkasama. Ang file ay nahahati sa mga seksyon. Sa larawan sa itaas, makikita natin ang unang seksyon na nagtatakda ng talahanayan para sa mga komento ng WordPress. Ang ikalawang seksyon pagkatapos recreates ang nilalaman (ibig sabihin tala ng komento) na sa mga mesa. Kapag pupunta ka upang i-import muli ang iyong MySQL dump muli, ang command ay gagana sa pamamagitan ng file, isinasagawa ang mga pahayag at muling pagtatayo ng iyong database sa paraang ito. Kaya paano mo ito ginagawa? Tignan natin. Bago mo magawa ito, kakailanganin mo ang isang database na nilikha, at may wastong username at password. Dapat mo ring magkaroon ng lahat ng mga pahintulot para sa database. (Mahigpit na nagsasalita na hindi mo kailangan ang Grant pahintulot, ngunit mas madaling bigyan ang lahat ng ito.) Makakahanap ka ng mga detalye sa mga pahintulot ng database sa artikulong ito. Upang i-import muli ang iyong data, sundin ang mga hakbang na ito: Kapag tapos ka na, makikita mo ang isang mahabang listahan ng mga mensahe na isinasaalang-alang na ang mga pahayag ng SQL ay nagsasagawa. Panatilihin ang isang mata out para sa mga error, ngunit kung ikaw ay may karapatan na pahintulot, dapat kang maging masarap na bilang ito ay isang blangko database. Sa sandaling makumpleto ang proseso, magkakaroon ka ng duplicate ng iyong orihinal na database. Maaari mong i-verify ito sa pamamagitan ng paggawa ng isa pang dump, at paghahambing ng dalawang output. Magagawa ng isang disenteng editor ng teksto para sa iyo, o isang nakalaang * diff * na tool tulad ng ipinakita sa larawan sa ibaba: Mayroong dalawang pagkakaiba lamang sa pagitan ng mga file na ito, na kinakatawan ng mga pulang linya sa tuktok at ibaba ng kanang scrollbar. Ang una ay ang linya na naglalaman ng pangalan ng database, at inaasahan namin na ito ay naiiba dahil pinangalanan namin ang mga ito nang naiiba. Ang pangalawa, sa lahat ng paraan sa dulo, ay ang timestamp para sa dump file. At inaasahan din namin na ito ay naiiba, habang muling ginawa namin ang pangalawang database pagkatapos ng una. Kung hindi man, ang mga file ay eksaktong pareho, ibig sabihin ang mga database na nakabuo ng mga ito ay pati na rin! Pagkuha ng MySQL Dump
Pag-import ng MySQL Dump File