1. Panimula
MySQL ay isang malawak na ginagamit na sistema ng pamamahala ng database para sa maraming website at aplikasyon. Kabilang sa mga tool nito, ang utos na mysqldump ay mahalaga para sa paglikha ng backup ng database at paghawak ng mga migration. Ang utos na ito ay lalo na kapaki-pakinabang kapag kailangan mong i-backup lamang ang mga tiyak na talahanayan mula sa isang malaking database.
Sa artikulong ito, ipapaliwanag namin nang detalyado kung paano i-dump ang mga tiyak na talahanayan gamit ang utos na mysqldump. Ang gabay ay angkop para sa mga baguhan, ngunit tatalakayin din namin ang mga advanced na opsyon at praktikal na mga kaso ng paggamit para sa mga intermediate na gumagamit.
2. Pangunahing Sintaks ng utos na mysqldump
Una, balikan natin ang pangunahing paggamit ng utos na mysqldump. Ang utos na ito ay ginagamit upang i-dump (i-backup) ang estruktura at data ng isang buong database o mga napiling talahanayan.
Pangunahing Sintaks
Sa pamamagitan ng pagtukoy ng username, password, pangalan ng database, at pangalan ng talahanayan, maaari kang mag-backup ng isang tiyak na talahanayan tulad ng ipinapakita sa ibaba:
mysqldump -u username -p database_name table_name > output_file.sql
-u: Tinukoy ang username ng database-p: Hihingin ang password ng databasedatabase_name: Ang pangalan ng database na i-dumptable_name: Ang pangalan ng tiyak na talahanayan na i-dump> output_file.sql: Ang output file kung saan ise-save ang dump
Karaniwang Ginagamit na mga Opsyon
--single-transaction: Tinitiyak ang pagkakakonsistente ng transaksyon kapag nagba-backup ng mga InnoDB na talahanayan--skip-lock-tables: Pinipigilan ang pag-lock ng mga talahanayan habang isinasagawa ang backup

3. Pag-dump ng mga Tiyak na Talahanayan
Pag-dump ng Isang Talahanayan
Upang mag-backup lamang ng isang talahanayan, tukuyin ang pangalan ng talahanayan pagkatapos ng pangalan ng database. Halimbawa, ang sumusunod na utos ay nagda-dump lamang ng talahanayang users:
mysqldump -u root -p my_database users > users_dump.sql
Ang utos na ito ay nagse-save ng estruktura at data ng talahanayang users mula sa database na my_database papunta sa users_dump.sql.
Pag-dump ng Maramihang Talahanayan
Kung nais mong mag-backup ng maramihang talahanayan nang sabay-sabay, ilista ang mga pangalan ng talahanayan na pinaghihiwalay ng mga puwang:
mysqldump -u root -p my_database users orders products > multiple_tables_dump.sql
Ang utos na ito ay nagda-dump ng mga talahanayan na users, orders, at products nang sabay.
Paggamit ng Listahan ng Talahanayan
Kapag nagtatrabaho sa maraming talahanayan, ang manu-manong pag-type ng lahat ng pangalan ng talahanayan ay maaaring maging magastos sa oras. Sa ganitong kaso, maaari mong gamitin ang utos na SHOW TABLES o isang script upang awtomatikong bumuo ng listahan ng talahanayan para sa pag-dump:
mysql -u root -p my_database -N -e "SHOW TABLES LIKE 'hoge%'" > table_list.txt
mysqldump -u root -p my_database `cat table_list.txt` > partial_dump.sql
Ang pamamaraang ito ay nagbibigay-daan sa iyo na epektibong i-backup lamang ang mga talahanayan na tumutugma sa isang tiyak na pattern.
4. Mga Opsyon at Advanced na Paggamit
Ang utos na mysqldump ay may kasamang iba’t ibang mga opsyon na nagbibigay-daan sa iyo na i-customize ang mga backup ayon sa iyong pangangailangan. Narito ang ilang kapaki-pakinabang na halimbawa.
Pag-dump ng Estruktura Lamang
Kung kailangan mo lamang ang estruktura ng talahanayan nang walang data, gamitin ang opsyong --no-data:
mysqldump -u root -p my_database --no-data users > users_structure.sql
Ang utos na ito ay nagda-dump lamang ng estruktura ng talahanayang users.
Pag-dump ng Data Lamang
Kung nais mo lamang ang data nang walang estruktura ng talahanayan, gamitin ang opsyong --no-create-info:
mysqldump -u root -p my_database --no-create-info users > users_data.sql
Ang utos na ito ay nagda-dump lamang ng data ng talahanayang users.
Kondisyonal na Pag-dump
Maaari mong gamitin ang opsyong --where upang i-dump lamang ang mga hilera na tumutugma sa tiyak na kondisyon. Halimbawa, upang i-dump lamang ang mga hilera kung saan ang id ay higit sa 100:
mysqldump -u root -p my_database users --where="id > 100" > users_filtered_dump.sql
Nakakatulong ito para sa pag-backup lamang ng kinakailangang subset ng data mula sa malalaking talahanayan.

5. Praktikal na Mga Halimbawa
Halimbawa 1: Pag-backup ng Isang Talahanayan
Halimbawa, upang i-backup lamang ang talahanayang salary mula sa database na employees:
mysqldump -u root -p employees salary > salary_dump.sql
Halimbawa 2: Pag-backup ng Data na may mga Kondisyon
Upang i-dump lamang ang isang bahagi ng data, gamitin ang opsyong --where. Halimbawa, upang i-back up lamang ang mga hilera kung saan ang id ay higit sa 100 mula sa talang users:
mysqldump -u root -p my_database users --where="id > 100" > users_partial_dump.sql
6. Mga Pinakamainam na Kasanayan at Pagsasaalang-alang
Pag-iwas sa mga Isyu sa Pag-lock ng Talahanayan
Kapag gumagamit ng mysqldump, maaaring ma-lock ang mga talahanayan, na pumipigil sa ibang operasyon. Sa mga production system, inirerekomenda na gamitin ang opsyong --single-transaction upang maiwasan ang downtime. Para sa mga InnoDB na talahanayan, ang pagsasama nito sa --skip-lock-tables ay mas ligtas pa.
Paghawak sa Malalaking Dami ng Data
Para sa napakalaking mga database, maaaring tumagal nang matagal ang proseso ng dump. Isang karaniwang gawain ay i-compress ang output nang real time gamit ang gzip:
mysqldump -u root -p my_database | gzip > backup_$(date +%Y%m%d).sql.gz
Ang utos na ito ay nakakatipid ng puwang sa disk sa pamamagitan ng pag-compress ng dump habang ito ay nililikha.

7. Konklusyon
Sa artikulong ito, tinalakay namin kung paano i-dump ang mga tiyak na talahanayan gamit ang utos na mysqldump. Mula sa pangunahing syntax hanggang sa mga conditional dump, export na structure-only o data-only, at pati na rin ang automation gamit ang mga script, sinuri namin ang malawak na hanay ng mga kaso ng paggamit. Ang utos na mysqldump ay isang makapangyarihang kasangkapan na, kapag ginamit nang tama, nagpapadali ng mga backup at migration ng database.
Sa susunod na artikulo, susuriin natin ang mas advanced na mga opsyon ng mysqldump at ihahambing ito sa iba pang mga tool sa backup ng database.


