1. හැඳින්වීම
දත්ත ගබඩා පිටපත් කිරීම සහ ප්රතිස්ථාපනය යනු දත්ත කළමනාකරණයේ මූලික අංග이며, විශ්වාසනීය මෙහෙයුම් සඳහා අත්යවශ්ය වේ. MySQL හි mysqldump යනු දත්ත ගබඩා පිටපත් සෑදීමට කාර්යක්ෂම සහ ව්යාප්ත මෙවලමක් ලෙස පුළුල් ලෙස භාවිතා වේ. මෙම මාර්ගෝපදේශයේදී, mysqldump හි මූලික භාවිතය සිට උසස් විකල්ප, ප්රතිස්ථාපන ක්රම, සහ ගැටළු විසඳුම් දක්වා සියල්ල විස්තරාත්මකව පැහැදිලි කරමු. ලිපියේ අවසානයේ, හොඳම පුරුදු ක්රම සහ අතිරේක සම්පත්ද හඳුන්වා දෙන අතර, mysqldump පරිපූර්ණව අධ්යයනය කිරීමට මෙය උපකාරී යොමුකිරීමක් ලෙස භාවිතා කරන්න.
2. mysqldump යනු කුමක්ද?
2.1 mysqldump සමාලෝචනය
mysqldump යනු MySQL දත්ත ගබඩා පිටපත් සෑදීමට භාවිතා කරන කමාන්ඩ්-ලයින් මෙවලමකි. ඔබට සම්පූර්ණ දත්ත ගබඩාව, විශේෂිත වගු, හෝ නියමිත කොන්දේසි සපුරන දත්ත පමණක් SQL ස්ක්රිප්ට් එකක් ලෙස ඩම්ප් කරගත හැක. මෙම ඩම්ප් ගොනුව භාවිතා කර දත්ත ප්රතිස්ථාපනය හෝ නව සේවාදායකයකට මාරු කිරීම සිදු කළ හැක.
2.2 සාමාන්ය භාවිත අවස්ථා
- පිටපත් කිරීම : පද්ධති අසාර්ථකතා හෝ දත්ත අහිමිවීම සඳහා නිතර පිටපත් ගන්න.
- දත්ත මාරු කිරීම : සේවාදායක අතර දත්ත ගබඩා මාරු කිරීම හෝ සංවර්ධන පරිසරයකට දත්ත පිටපත් කිරීම.
- දත්ත විශ්ලේෂණය : විශ්ලේෂණය සහ සත්යාපනය සඳහා විශේෂිත දත්ත කට්ටලයන් ලබා ගැනීම.
3. මූලික භාවිතය
3.1 මූලික කමාන්ඩ් ව්යුහය
mysqldump සඳහා මූලික කමාන්ඩ් ව්යුහය පහත පරිදි වේ:
mysqldump -u username -p database_name > output_file.sql
-u username: දත්ත ගබඩාවට ප්රවේශ වීමට භාවිතා කරන පරිශීලක නාමය.-p: මුරපදය ඇතුළත් කිරීමට ඉල්ලීම.database_name: ඔබ පිටපත් කිරීමට අවශ්ය දත්ත ගබඩාවේ නාමය.> output_file.sql: ඩම්ප් ගොනුව සඳහා ගමනාන්ත මාර්ගය/නාමය.
3.2 පරිශීලක සත්යාපන විකල්ප
-h hostname: දත්ත ගබඩා සේවාදායකයේ හෝස්ට් නාමය (පෙරනිමියlocalhost).-P port_number: සම්බන්ධ වීමට පෝට් අංකය (පෙරනිමිය 3306).
3.3 උදාහරණය:ම්පූර්ණ දත්ත ගබඩාවක් පිටපත් කිරීම
mysqldump -u root -p mydatabase > backup.sql
මෙම කමාන්ඩ් එක mydatabase හි සියලු දත්ත backup.sql ගොනුවට පිටපත් කරයි. අනුවාද පාලනය සඳහා පිටපත් ගොනුවේ දිනය ඇතුළත් කරන්නේ නම්, ඔබේ පිටපත් ඉතිහාසය නිරීක්ෂණය කිරීම පහසු වේ.
4. ප්රධාන විකල්ප විස්තරය
4.1 --all-databases (-A)
මෙම විකල්පය සමඟ සියලු දත්ත ගබඩා එකවර පිටපත් කරයි. සම්පූර්ණ සේවාදායකයේ සම්පූර්ණ පිටපතක් අවශ්ය වන විට මෙය ප්රයෝජනවත් වේ.
mysqldump -u root -p --all-databases > all_databases_backup.sql
4.2 --no-data (-d)
දත්ත නොමැතිව වගු සැකිල්ල පමණක් පිටපත් කිරීමට මෙම විකල්පය භාවිතා කරන්න. උදාහරණයක් ලෙස, සංවර්ධන පරිසරයක් සකස් කිරීම සඳහා වගු සැකිල්ල පමණක් අපනයනය කිරීමට මෙය ප්රයෝජනවත් වේ.
mysqldump -u root -p mydatabase --no-data > schema_only_backup.sql
4.3 --where (-w)
විශේෂිත කොන්දේසි සපුරන දත්ත පමණක් පිටපත් කිරීමට මෙම විකල්පය භාවිතා කරන්න. උදාහරණයක් ලෙස, is_active තීරුව 1 වන ලේඛන පමණක් පිටපත් කිරීමට:
mysqldump -u root -p mydatabase --where="is_active=1" > filtered_data_backup.sql
4.4 --ignore-table
පිටපත් කිරීමේදී විශේෂිත වගු බැහැර කිරීමට මෙම විකල්පය භාවිතා කරන්න. ඔබට ඇතුළත් නොකළ යුතු වගු තිබේ නම් මෙය ප්රයෝජනවත් වේ.
mysqldump -u root -p mydatabase --ignore-table=mydatabase.table1 > partial_backup.sql
5. ප්රායෝගික උදාහරණ
5.1 විශේෂිත වගු පමණක් ඩම්ප් කිරීම
ඔබට විශේෂිත වගු පමණක් පිටපත් කිරීමට අවශ්ය නම්, දත්ත ගබඩාවේ නාමය පසු වගු නාමය සඳහන් කරන්න.
mysqldump -u root -p mydatabase table1 > table1_backup.sql
මෙම කමාන්ඩ් එක table1 හි දත්ත පමණක් table1_backup.sql ගොනුවට සුරකින්නෙකි.
5.2 දත්ත පමණක් / සැකිල්ල පමණක් ඩම්ප් කිරීම
- දත්ත පමණක් :
mysqldump -u root -p mydatabase --no-create-info > data_only_backup.sqlදත්ත පමණක් පිටපත් කර, වගු සැකිල්ල ඇතුළත් නොකරයි. - සැකිල්ල පමණක් :
bash mysqldump -u root -p mydatabase --no-data > schema_only_backup.sqlවගු සැකිල්ල පමණක් පිටපත් කරයි.
5.3 කොන්දේසිමය ඩම්ප්
විශේෂිත කොන්දේසි සපුරන දත්ත පමණක් පිටපත් කිරීමට --where විකල්පය භාවිතා කරන්න.
mysqldump -u root -p mydatabase --where="created_at >= '2023-01-01'" > recent_data_backup.sql
මෙම විධානය created_at යන දිනය ජනවාරි 1, 2023 හෝ එයට පසු වන දත්ත පමණක් පිටපත් කරයි.
6. ප්රතිස්ථාපනය කිරීමේ ක්රමය
mysqldump භාවිතයෙන් පිටපත් කර ඇති දත්ත ගබඩාව ප්රතිස්ථාපනය කිරීමට, mysql විධානය භාවිතා කරන්න. ප්රතිස්ථාපනය යනු පිටපත් ගොනුවක් භාවිතා කර දත්ත ගබඩාව පෙර තත්ත්වයකට ආපසු ගෙන යන ක්රියාවලියයි.
6.1 මූලික ප්රතිස්ථාපන වාක්ය රචනය
mysql -u username -p database_name < dump_file.sql
-u username: දත්ත ගබඩාවට සම්බන්ධ වීමට භාවිතා කරන පරිශීලක නාමය.-p: මුරපදය ඇතුළත් කිරීමට ඔබට ඉල්ලීමක් කරනවා.database_name: ගමනාන්ත දත්ත ගබඩාවේ නාමය.< dump_file.sql: ප්රතිස්ථාපනය සඳහා භාවිතා කරන dump ගොනුව.
6.2 උදාහරණය: ප්රතිස්ථාපනය ක්රියාත්මක කිරීම
mysql -u root -p mydatabase < backup.sql
මෙම විධානය backup.sql ගොනුවෙන් mydatabase වෙත දත්ත ප්රතිස්ථාපනය කරයි.
6.3 ප්රතිස්ථාපනය සඳහා වැදගත් සටහන්
- ඔබ ප්රතිස්ථාපනය කිරීමට අවශ්ය දත්ත ගබඩාව නොමැති නම්, පළමුව එය සාදන්න.
- විශාල ප්රමාණයේ දත්ත ප්රතිස්ථාපනය කිරීමට කාලය ගත විය හැකි බැවින්, පෙර සැලසුම් කිරීම වැදගත් වේ.
7. mysqldump සඳහා හොඳම පුරුදු
7.1 පිටපත් කිරීමේ කාලසටහන් සැකසීම
mysqldump ස්ක්රිප්ට් කර සහ cron වැනි කාලසටහන්කරු භාවිතා කර නිතර පිටපත් කිරීම ස්වයංක්රීය කරන්න. පහත ශෙල් ස්ක්රිප්ට් උදාහරණයේ, සියලු දත්ත ගබඩාවන්ගේ සම්පූර්ණ පිටපත දිනපතා අර්ධරෑයේ ගන්නා ලදී.
#!/bin/bash
mysqldump -u root -p'password' --all-databases > /path/to/backup/all_databases_$(date +\%F).sql
7.2 පිටපත් ගොනු සංකේතනය කිරීම
පිටපත් ගොනු සංවේදී තොරතුරු අඩංගු විය හැකි බැවින්, gpg වැනි මෙවලම් භාවිතා කර ඒවා සංකේතනය කිරීම සුපිරි ය.
gpg -c /path/to/backup/all_databases_$(date +\%F).sql
7.3 අනුවාද අනුකූලතාව
විවිධ MySQL අනුවාද අතර දත්ත මාරු කිරීමේදී, අනුකූලතා ගැටළු පිළිබඳ අවධානයෙන් සිටිය යුතුය. නවීකරණයට පෙර, පරීක්ෂණ පරිසරයක පිටපත් කිරීම සහ ප්රතිස්ථාපන ක්රියාවලිය අනුකරණය කර අනුකූලතාව තහවුරු කරන්න.
- Restore table definitions :
mysqldump --all-databases --no-data --routines --events > dump-defs.sqlමෙම විධානය වගුවේ ව්යුහය පමණක් dump කරයි, පසුව ඔබ එය නව අනුවාද පරිසරයේ ප්රතිස්ථාපනය කර අනුකූලතාව පරීක්ෂා කරයි. - Restore data :
mysqldump --all-databases --no-create-info > dump-data.sqlවගු ව්යුහය අනුකූල බව තහවුරු කිරීමෙන් පසු, දත්ත පමණක් ප්රතිස්ථාපනය කරන්න. - Validate in a test environment : අනුවාද අතර අනුකූලතාව තහවුරු කිරීම සඳහා, පරීක්ෂණ පරිසරයක පිටපත් කිරීම සහ ප්රතිස්ථාපනය සිදු කරන්න. සියල්ල නිවැරදිව ක්රියා කරන බව තහවුරු කිරීමෙන් පසු, නිෂ්පාදන පරිසරයේ මාරු කිරීම ඉදිරියට ගෙන යන්න.
7.4 පිටපත් ගබඩා කිරීම සහ තහවුරු කිරීම
- පිටපත් ආරක්ෂිතව ගබඩා කරන්න : පිටපත් ගොනු බාහිර ගබඩා හෝ වලාකුළේ ගබඩා කර නිතර යාවත්කාලීන කරන්න. ස්ථානයෙන් පිටත ගබඩා කිරීම භෞතික දෝෂ වලින් දත්ත ආරක්ෂා කිරීමට උපකාරී වේ.
- නිතර ප්රතිස්ථාපන තහවුරු කරන්න : පිටපත් නිවැරදිව ප්රතිස්ථාපනය කළ හැකි බව තහවුරු කිරීම සඳහා නිතර ප්රතිස්ථාපන පරීක්ෂණ කරන්න. පිටපත් අවලංගු වීමේ අවස්ථාවට ප්රතිස්ථාපන තහවුරු කිරීම නොදැකීම වැදගත් වේ.
8. ගැටළු විසඳීම
8.1 පොදු දෝෂ සහ විසඳුම්
- Error:
@@GLOBAL.GTID_PURGED cannot be changed: මෙම දෝෂය MySQL 8.0 හි GTID-සම්බන්ධ ගැටළු ඇති වූ විට පෙන්වයි.--set-gtid-purged=COMMENTEDවිකල්පය භාවිතා කර GTID සැකසුම් අදහස් කරමින් එය වැළැක්විය හැක.mysqldump -u root -p mydatabase --set-gtid-purged=COMMENTED > backup.sql - Error: Not enough disk space : විශාල දත්ත ගබඩාක් පිටපත් කිරීමේදී තැටි ඉඩ අවසන් වූ විට, පිටපත සංකුචනය කරන්න හෝ ගමනාන්තය වෙනස් කරන්න. උදාහරණයක් ලෙස, gzip භාවිතා කර පිටපත සංකුචනය කළ හැක:
mysqldump -u root -p mydatabase | gzip > backup.sql.gz - Error: Insufficient privileges : දත්ත ගබඩා පරිශීලකයාට ප්රමාණවත් අවසර නොමැති නම්, පිටපත් කිරීම හෝ ප්රතිස්ථාපනය අසාර්ථක වේ. අවශ්ය අවසර (උදාහරණයක් ලෙස
SELECT,LOCK TABLES,SHOW VIEWආදිය) ලබා දී නැවත උත්සාහ කරන්න.
8.2 අනුවාද අනුකූලතා ගැටළු
Compatibility ගැටළු විවිධ MySQL අනුවාද අතර පරීක්ෂා කිරීමෙන් උත්සාහ කිරීමෙන් විසඳිය හැක. විශේෂයෙන්, MySQL 5.7 සිට 8.0 දක්වා මාරු වන විට, --no-data විකල්පය භාවිතා කරමින් වගු නිර්වචන පමණක් ප්රතිස්ථාපනය කිරීම සහ අනුකූලතාවය පරීක්ෂා කිරීම නිර්දේශ කරයි.
- අනුකූල නොවනතා පරීක්ෂා කිරීම : උත්සාහ කිරීමේ පෙර, මාරු කිරීම පරීක්ෂා පරිසරයක සිමූලේට් කරමින් සම්භාව්ය ගැටළු හඳුනා ගන්න. අනුකූල නොවන විශේෂාංග හෝ වාක්ය රචනා සලකන්න, සහ අවශ්ය නම් SQL ස්ක්රිප්ට් වෙනස් කරන්න.
9. සාරාංශය
mysqldump යනු MySQL දත්ත ගබඩා බැකප් සහ ප්රතිස්ථාපනය සඳහා විශ්වාසනීය සහ බලවත් මෙවලමකි. මෙම ලිපියේ, මූලික භාවිතය සිට උසස් විකල්ප, හොඳ පුරුදු, සහ ගැටළු විසඳුම් දක්වා සියල්ල ආවරණය කර ඇත. මෙම දැනුම යොදාගෙන, ඔබට mysqldump භාවිතයෙන් ඔබේ දත්ත ගබඩා ආරක්ෂා කර, වැඩි කාර්යක්ෂමතාවෙන් කළමනාකරණය කළ හැක.
හොඳ පුරුදු, උදාහරණයක් ලෙස බැකප් කාලසටහන් සැකසීම සහ ගොනු සංකේතනය කිරීම, දත්ත ආරක්ෂාව වැඩිදියුණු කර, ඔබේ දත්ත ගබඩා මෙහෙයුම්වල විශ්වාසනීයතාවය වැඩි කරයි. mysqldump නිසි ලෙස භාවිතා කර, සම්භාව්ය දත්ත ගබඩා ගැටළු සඳහා සූදානම් වන්න.
10. යොමු සහ අතිරේක සම්පත්
mysqldump ගැන වැඩිදුර ඉගෙන ගැනීමට මෙම සම්පත භාවිතා කරන්න සහ වාස්තුකලාවලදී එය යොදා ගන්න. නිතර බැකප් කිරීම සහ ප්රතිස්ථාපන සත්යාපනය කිරීමෙන්, ඔබට දත්ත ගබඩා ආරක්ෂාව රැක ගැනීමට සහ අනපේක්ෂිත දත්ත අහිමිවීමේ අවස්ථාවට සූදානම් වීමට හැකිය.

