MySQL බැක්අප් මාර්ගෝපදේශය: හොඳම ක්‍රම, mysqldump, ස්වයංක්‍රීය කිරීම, සහ ප්‍රතිස්ථාපන පියවරයන්

目次

1. MySQL පිටපත් (Backup) වැදගත්කම

දත්ත ගබඩා (Database) බොහෝ වෙබ් අඩවි සහ යෙදුම් සඳහා මූලික තොරතුරු කළමනාකරණය කරන අත්‍යවශ්‍ය කොටසකි. විශේෂයෙන් MySQL යනු බොහෝ සමාගම් සහ පුද්ගලික ව්‍යාපෘති විසින් භාවිතා කරන විවෘත-මූලාශ්‍ර දත්ත ගබඩා කළමනාකරණ පද්ධතියකි. එNevertheless, දත්ත විවිධ හේතු මත අහිමි විය හැකි අතර, පිටපත් (backup) නොමැතිව ඔබ අහෝසි නොකළ හැකි තත්ත්වයකට පත් විය හැකිය.

දත්ත අහිමි වීමේ අවදානම්

දත්ත අහිමි වීමට සාමාන්‍ය හේතු පහත පරිදි වේ:

  • දෘඪකාංග අසාර්ථකතා සේවාදායකයේ හාර්ඩ් ඩිස්ක් හෝ SSD එක හදිසියේ අසාර්ථක විය හැකි අතර, දත්ත ප්‍රවේශය අහිමි වේ.
  • මානව දෝෂ මෙහෙයුම් දෝෂයක් හේතුවෙන් ඔබ අහඹු ලෙස දත්ත මකා දමන්න හෝ සම්පූර්ණ දත්ත ගබඩාව අතිරේක ලියන්න හැකිය.
  • සයිබර් ප්‍රහාර රැන්සම්වෙයා හෝ හැකින්ග් (hacking) මගින් දත්ත හොරකම් වීම හෝ සංකේතනය (encrypt) වීම සිදුවේ.
  • මෘදුකාංග ගැටළු යාවත්කාලීන හෝ වින්‍යාස (configuration) වෙනස්කම් දත්ත ගබඩාව දූෂණය (corrupt) කරයි.

පිටපත් (Backup) වල ප්‍රතිලාභ

පිටපත් (backup) සිදු කිරීමෙන් ඔබට ලැබෙන ප්‍රතිලාභ මෙසේය:

  • දත්ත ප්‍රතිසාධනය කළ හැකිය දත්ත අහිමි වුවත්, ඔබට පිටපතක් තිබේ නම් ඉක්මනින් එය ප්‍රතිස්ථාපනය (restore) කළ හැකිය. මෙය ව්‍යාපාරයේ අඩු කාලීන (downtime) අවධිය අඩු කිරීමට උපකාරී වේ.
  • වැඩි නිශ්චලතාව අනපේක්ෂිත ගැටළු සඳහා සූදානම් වීම මෙහෙයුම් ආතතිය (stress) අඩු කරයි.
  • අනුකූලතාව බොහෝ කර්මාන්තයන් දත්ත ආරක්ෂාව (data protection) අවශ්‍ය කරයි. නිතර පිටපත් (backup) කිරීම මෙම අවශ්‍යතා පුරවා දේ.

නිතර පිටපත් (Backup) කිරීමේ වැදගත්කම

ඔබ පිටපත් (backup) කරන අනුපාතය (frequency) පද්ධතිය කෙසේ භාවිතා කරයිද, දත්තය කෙතරම් වැදගත්ද යන දෙය මත පදනම් වේ. උදාහරණයක් ලෙස, දත්තය රියල්-ටයිම් (real time) යාවත්කාලීන වන (උදා: ඉ-කොමර්ස් (e‑commerce) අඩවි හෝ මූල්‍ය ආයතන) අවස්ථාවල දිනපතා හෝ පැයපතා පිටපත් (backup) කිරීම සුදුසු වේ. වෙනත් අතට, පුද්ගලික බ්ලොග් (blog) එකක් සඳහා සතිපතා පිටපත් (backup) කිරීම ප්‍රමාණවත් විය හැකිය.

පිටපත් (backup) සැලැස්මක් සකස් කරන විට, “කෙතරම් වාරිකව”, “කෙසේ ක්‍රමයෙන්”, “ඇයි තැන්පත් කරන්නේ” යන විශේෂ කරුණු තීරණය කිරීම අත්‍යවශ්‍ය වේ.

2. MySQL පිටපත් (Backup) මූලික කරුණු

MySQL කාර්යක්ෂම ලෙස පිටපත් (backup) කිරීමට, පළමුව මූලික සංකල්ප (concepts) අවබෝධ කර ගැනීම වැදගත් වේ. මෙම කොටස පිටපත් (backup) වර්ග සහ ක්‍රම (methods) විස්තරාත්මකව පැහැදිලි කරයි.

පිටපත් (Backup) වර්ග

MySQL පිටපත් (backup) තුනක් ලෙස විශාල වශයෙන් වර්ගීකරණය කළ හැකිය. එක් එක් වර්ගයේ ලක්ෂණ (characteristics) තේරුම් ගැනීම සහ ඔබේ පද්ධතියට සුදුසුම ක්‍රමය තෝරා ගැනීම අත්‍යවශ්‍ය වේ.

  1. සම්පූර්ණ පිටපත (Full backup) සම්පූර්ණ පිටපත (full backup) යනු සම්පූර්ණ දත්ත ගබඩාව පිටපත් (copy) කිරීමයි. එය සරලම හා විශ්වාසනීයම ක්‍රමය වන නමුත්, දත්ත ප්‍රමාණය විශාල නම් වැඩි කාලය හා ගබඩා (storage) අවශ්‍ය වේ. ප්‍රධාන ලක්ෂණ :
  • පහසු හා විශ්වාසනීය පිටපත් (backup) ක්‍රියාවලිය.
  • සරල ප්‍රතිස්ථාපන (restore) ක්‍රියාවලිය.
  • දත්ත ප්‍රමාණය විශාල නම් වැඩි පූර්ණභාරය (load). සාමාන්‍ය භාවිත අවස්ථා :
  • සතිපතා නියමිත (scheduled) පිටපත් (backup).
  • පළමු වරට පිටපත් (backup) කිරීමේදී.
  1. ඉන්ක්‍රිමෙන්ටල් පිටපත (Incremental backup) ඉන්ක්‍රිමෙන්ටල් පිටපත (incremental backup) යනු අවසන් පිටපත (backup) පසු වෙනස් වූ දත්ත පමණක් සුරකින්නෙකි. මෙය ගබඩා (storage) හා කාලය ඉතිරි කරයි, නමුත් ප්‍රතිස්ථාපනය (restore) සඳහා බහු පිටපත් (backup) ගොනු (files) අවශ්‍ය වේ. ප්‍රධාන ලක්ෂණ :
  • අඩු ගබඩා (storage) භාවිතය.
  • වේගවත් පිටපත් (backup) වේගය.
  • ප්‍රතිස්ථාපනය (restore) සංකීර්ණ විය හැකිය. සාමාන්‍ය භාවිත අවස්ථා :
  • කෙටි දිනපතා පිටපත් (backup) ගත කිරීම.
  1. දෛෆරෙන්ෂල් පිටපත (Differential backup) දෛෆරෙන්ෂල් පිටපත (differential backup) යනු පළමු සම්පූර්ණ පිටපත (full backup) පසු වෙනස් වූ දත්ත සුරකින්නෙකි. එය ඉන්ක්‍රිමෙන්ටල් පිටපත් (incremental backups) වඩා ගොනු (files) අඩු කරයි, එමඟින් ප්‍රතිස්ථාපනය (restore) පහසු කරයි, නමුත් ඉන්ක්‍රිමෙන්ටල් පිටපත් (incremental backups) වඩා වැඩි ගබඩා (storage) භාවිත කරයි. ප්‍රධාන ලක්ෂණ :
  • ඉන්ක්‍රිමෙන්ටල් පිටපත් (incremental backups) වඩා පහසු ප්‍රතිස්ථාපනය.
  • සම්පූර්ණ පිටපත් (full backups) සමඟ සම්බන්ධ කිරීමේදී කාර්යක්ෂම.
  • ඉන්ක්‍රිමෙන්ටල් පිටපත් (incremental backups) වඩා වැඩි ගබඩා (storage) භාවිතය. සාමාන්‍ය භාවිත අවස්ථා :
  • වැදගත් දත්ත නිතර යාවත්කාලීන වන අවස්ථාවල.

පිටපත් (Backup) ක්‍රම වර්ග

MySQL හි, පිටපත් (backup) ක්‍රම දෙකක් ලෙස වර්ගීකරණය කළ හැකිය. එක් එක් ක්‍රමයේ වාසි හා අවාසි තේරුම් ගැනීම ඔබේ පද්ධතියට ගැළපෙන ක්‍රමයක් තෝරා ගැනීමට උපකාරී වේ.

  1. භෞතික පිටපත (Physical backup) භෞතික පිටපත (physical backup) යනු දත්ත ගොනු (data files) සහ ලොග් ගොනු (log files) ස්වයංක්‍රීයව පිටපත් (copy) කිරීමයි. එය වේගවත් වන අතර විශාල දත්ත ගබඩා (databases) සඳහා සුදුසුය. වාසි :
  • වේගවත් බැකප් සහ පුනභාවිත කිරීම.
  • විශාල දත්ත සමුදායන් සඳහා ගැලපෙන.
  • ෆයිල් සිස්ටම් මට්ටමේ ක්‍රියාකිරීම නිසා ඉහළ විශ්වාසනීයභාවයක්. අවාසි :
  • නිශ්චිත දත්ත හෝ වගු පමණක් පුනභාවිත කිරීම අපහසුයි.
  • සමහර ක්‍රමවේද database ක්‍රියාකාරී වන අතරේ ගැටලු ඇති කළ හැකියි. උදාහරණ මෙවලම් :
  • Percona XtraBackup
  • Filesystem copies (tar, rsync)
  1. තාර්කික බැකප් තාර්කික බැකප් එකක් SQL ආකෘතියෙන් දත්ත අපනයනය කරයි. එය කුඩා දත්ත සමුදායන් සඳහා හෝ නිශ්චිත වගු හෝ දත්ත පමණක් බැකප් කිරීමට අවශ්‍ය වන විට ගුණදායකයි. වාසි :
  • නිශ්චිත දත්ත හෝ වගු පමණක් බැකප් කළ හැකියි.
  • විවිධ දත්ත සමුදාය අනුවාද අතර සඳහා පහසු සංක්‍රමණය. අවාසි :
  • බැකප් සහ පුනභාවිත කිරීම් වේලාව ගත විය හැකියි.
  • විශාල දත්ත ප්‍රමාණ සඳහා අකාර්යක්ෂමයි. උදාහරණ මෙවලම් :
  • mysqldump
  • MySQL Workbench

කුමන ක්‍රමය තෝරා ගත යුතුද?

බැකප් ක්‍රමයක් තෝරා ගැනීම database ප්‍රමාණය, යාවත්කාලීන සංඛ්‍යාතාව සහ ක්‍රියාකාරී හැකියාව මත රඳා පවතී. ඔබගේ තත්ත්වය මත ගැලපෙන හොඳම ප්‍රවේශය සලකා බලන්න:

  • කුඩා අඩවි සහ පුද්ගලික ව්‍යාපෘති :
  • නිතිපතා තාර්කික බැකප් (mysqldump) කරන්න.
  • මධ්‍යම ප්‍රමාණයේ හෝ විශාල පද්ධති :
  • සම්පූර්ණ බැකප් සහ අනුපිට බැකප් ඒකාබද්ධ කරන්න.
  • භෞතික බැකප් සමඟ කාර්යක්ෂමතාව වැඩි දියුණු කරන්න.
  • අඩු තත්පරයකින් පුනභාවිත කිරීම අවශ්‍ය පද්ධති :
  • වේගවත් පුනභාවිත කිරීම සඳහා භෞතික බැකප් භාවිතා කරන්න.
  • වලාකුළු පරිසරවල ස්වයංක්‍රීය බැකප් ද සලකා බලන්න.

3. MySQL බැකප් ක්‍රම

MySQL බැකප් කිරීමට ප්‍රායෝගික ක්‍රම කිහිපයක් තිබේ. මෙම කොටස mysqldump command, භෞතික බැකප්, සහ ස්වයංක්‍රීය බැකප් සැකසුම මත අවධානය යොමු කරමින් පොදු ක්‍රම සැබෑ commands සහ ක්‍රියාවලිය සමඟ පැහැදිලි කරයි.

mysqldump සමඟ බැකප් කිරීම

mysqldump යනු MySQL බැකප් මෙවලම් අතරින් බහුලව භාවිතා වන එකකි. එය SQL ආකෘතියෙන් දත්ත අපනයනය කරයි, එය අනෙකුත් දත්ත සමුදායන්ට සංක්‍රමණය සහ පුනභාවිත කිරීම සඳහා පහසුයි.

මූලික භාවිතය

  1. සම්පූර්ණ දත්ත සමුදායක් බැකප් කිරීම
    mysqldump -u [username] -p[password] [database_name] > [destination_file.sql]
    
  • [username] : MySQL පරිශීලක නාමය.
  • [password] : MySQL මුරපදය (-p සහ මුරපදය අතර පරතරයක් නොදමන්න).
  • [database_name] : බැකප් කිරීමට අදාළ දත්ත සමුදාය නාමය.
  • [destination_file.sql] : SQL ෆයිල් සුරකින්න පාඨය.
  1. බහු දත්ත සමුදායන් බැකප් කිරීම
    mysqldump -u [username] -p[password] --databases [database_name1] [database_name2] > [destination_file.sql]
    
  1. සියලුම දත්ත සමුදායන් බැකප් කිරීම
    mysqldump -u [username] -p[password] --all-databases > [destination_file.sql]
    

ගුණදායක විකල්ප

  • --single-transaction : සන්නාම ගනුදෙනුකරණ දත්ත සමුදායන් සඳහා ස්ථිරභාවය රැකගෙන බැකප් කිරීම.
  • --routines : Stored procedures සහ functions ඇතුළත් කරන්න.
  • --no-data : දත්ත නොමැතිව වගු ව්‍යුහය පමණක් බැකප් කිරීම.

සටහන්

  • විශාල දත්ත සමුදායන් සඳහා, mysqldump වේලාව ගත විය හැකියි. එවිට, භෞතික බැකප් හෝ අනෙකුත් මෙවලම් සලකා බලන්න.

භෞතික බැකප් කිරීමේ ක්‍රමය

භෞතික බැකප් එකක් MySQL පුනභාවිත කිරීම සඳහා දත්ත ෆයිල් කොපි කිරීමෙන් සිදු කරයි. මෙම ප්‍රවේශය විශාල දත්ත සමුදායන් හෝ වේගවත් පුනභාවිත කිරීම අවශ්‍ය වන විට ගැලපෙන.

මූලික පියවර

  1. දත්ත නාමාවරණය කොපි කිරීම
  • MySQL server නවත්වන්න. bash systemctl stop mysql
  • දත්ත නාමාවරණය කොපි කරන්න (සාමාන්‍යයෙන් /var/lib/mysql ). bash cp -R /var/lib/mysql /backup_destination/
  • Server නැවත ආරම්භ කරන්න. bash systemctl start mysql
  1. Percona XtraBackup භාවිතයෙන් බැකප් කිරීම
  • Percona XtraBackup MySQL ක්‍රියාකාරී වන අතරේ බැකප් කළ හැකියි. bash xtrabackup --backup --target-dir=/backup_destination/
  • ජනනය වූ බැකප් පුනභාවිත කළ හැකි ආකෘතියකින් සුරකිනු ලැබේ.

වාසි සහ අවාසි

  • වාසි:
  • වේගවත් බැකප් වේගය.
  • විශාල දත්ත ප්‍රමාණ කාර්යක්ෂමව සුරකින.
  • අවාසි:
  • වැඩි ඩිස්ක් අවකාශ භාවිතා කරයි.
  • නිශ්චිත වගු හෝ දත්ත පමණක් බැකප් කිරීම අපහසුයි.

ස්වයංක්‍රීය බැකප් සැකසීම

නිතිපතා බැකප් සිදු කිරීම සඳහා ස්වයංක්‍රීයකරණය අත්‍යවශ්‍යයි. මෙම කොටස Linux cron jobs භාවිතයෙන් බැකප් ස්ක්‍රිප්ට් සැකසීම ක්‍රමයන් ප්‍රවර්ධනය කරයි.

උදාහරණ ස්ක්‍රිප්ට්
මෙහි mysqldump භාවිතයෙන් ස්වයංක්‍රීය බැකප් ස්ක්‍රිප්ට් උදාහරණයක් පහත දැක්වේ:

#!/bin/bash

# Backup destination directory
BACKUP_DIR="/path/to/backup/"
# Backup file name with timestamp
FILE_NAME="backup_$(date +'%Y%m%d_%H%M%S').sql"
# MySQL connection settings
USER="root"
PASSWORD="yourpassword"
DATABASE="yourdatabase"

# Run the backup
mysqldump -u $USER -p$PASSWORD $DATABASE > $BACKUP_DIR$FILE_NAME

# Delete old backup files (older than 30 days)
find $BACKUP_DIR -type f -mtime +30 -exec rm {} \;

echo "Backup completed: $FILE_NAME"

Example cron configuration

  1. Grant execute permission to the script:
    chmod +x /path/to/backup_script.sh
    
  1. Register in cron (example: run daily at 2:00 AM):
    crontab -e
    

Add the following:

0 2 * * * /path/to/backup_script.sh

Notes

  • Security improves if you also transfer backup files to external storage or the cloud.
  • To avoid storing passwords in plain text inside scripts, you can use the MySQL ~/.my.cnf file as an alternative.

4. Backup Best Practices

To back up MySQL properly, it’s important not only to save data but also to understand best practices for efficient and secure operations. This section introduces recommended practices for effective backup operations.

Choosing and Managing Storage Locations

Carefully selecting where backups are stored can greatly reduce the risk of data loss.

  1. Use external storage
  • Storing backup files not only on local disks but also on external storage or cloud services helps prevent losses due to hardware failures or disasters.
  • Recommended services include: wp:list /wp:list

    • Amazon S3
    • Google Cloud Storage
    • Microsoft Azure
  1. Implement retention (versioning)
  • Keeping multiple generations of backups helps you restore to a specific point in time when needed.
  • Example: Keep the latest three backups and delete older ones.
  1. Improve security with encryption
  • If your backups contain sensitive data, encrypting backup files helps prevent unauthorized access.
  • Example (encryption on Linux): bash openssl enc -aes-256-cbc -salt -in backup.sql -out backup.sql.enc

Setting Backup Frequency

Decide your backup schedule based on data importance and update frequency.

  1. When near real-time operations are required
  • Consider high-frequency incremental backups or continuous backups via cloud services.
  • Example: hourly incremental backups.
  1. For typical business systems
  • Combining daily incremental backups with weekly full backups is effective.
  • Example: incremental backups every night, full backups on weekends.
  1. For static databases
  • For low-update databases (archives, etc.), run full backups monthly or quarterly.

Backup Validation and Testing

It’s essential to regularly verify that backups are working correctly and ensure you can restore them when needed.

  1. Check backup integrity
  • Confirm that the backup file was created and saved correctly.
  • Example: import the mysqldump export to verify. bash mysql -u [username] -p[password] [database_name] < backup.sql
  1. Regular restore tests
  • Test restoring from backups to confirm recoverability.
  • Prepare a test environment so you don’t damage production systems.
  1. Automated notification system
  • Implement notifications to report whether backup jobs succeeded or failed.
  • Example: configure email notifications inside the script. bash echo "Backup Completed Successfully" | mail -s "Backup Status" user@example.com

Backups as Part of Disaster Recovery

Backups should be considered as part of disaster recovery (DR).

  1. Geographically distributed storage
  • Storing backups in different regions reduces risks from earthquakes, fires, and other disasters.
  • Example: use cloud storage to keep data in a remote region.
  1. Integrate with business continuity planning (BCP)
  • Integrate backup operations into your organization’s BCP and document recovery procedures for system outages.

ආරක්ෂා ක්‍රියාමාර්ග ශක්තිමත් කිරීම

ආපසු ගත කරන දත්ත වල අනුමත නොකළ ප්‍රවේශය වැළැක්වීමට, පහත ආරක්ෂා ක්‍රියාමාර්ග ක්‍රියාත්මක කරන්න.

  1. ප්‍රවේශ පාලනය
  • ආපසු ගත කරන ගොනු සඳහා ප්‍රවේශ අවසරයන් අවශ්‍ය අවම මට්ටමට සීමා කරන්න. wp:list /wp:list

    • Linux හි, chmod භාවිතා කර සුදුසු අවසරයන් සකසන්න. bash chmod 600 backup.sql
  1. ලොග් කිරීම
  • ආපසු ගත කිරීම සහ ප්‍රතිස්ථාපන ක්‍රියාකාරකම් සඳහා ලොග් සටහන් තබා, පරීක්ෂා කළ හැකි තත්ත්වයක් රඳවා ගන්න.
  1. මුරපද කළමනාකරණය
  • ආපසු ගත කරන ස්ක්‍රිප්ට් වල මුරපද සාමාන්‍ය පෙළ ලෙස සුරැකීමෙන් වැළැක්වන්න; ඒ වෙනුවට MySQL වින්‍යාස ගොනුව ( ~/.my.cnf ) භාවිතා කරන්න.
    user=root
    password=yourpassword
    

5. ප්‍රතිස්ථාපන ක්‍රියාපටිපාටිය

ආපසු ගත කිරීමේ අරමුණ වන්නේ දත්ත අහිමි වූ විට ඒවා ප්‍රතිස්ථාපනය කිරීමයි. මෙම කොටස MySQL දත්ත ගබඩාව ආපසු ගත කරන දත්ත භාවිතා කර ප්‍රතිස්ථාපනය කරන ආකාරය, ප්‍රායෝගික පියවර සහ වැදගත් සටහන් සමඟ විස්තර කරයි.

මූලික ප්‍රතිස්ථාපන පියවර

ප්‍රතිස්ථාපන ක්‍රමය ආපසු ගත කරන ආකාරය අනුව වෙනස් වේ. පහත දෙකක් නියෝජිත ක්‍රම වේ.

1. mysqldump ආපසු ගත කිරීම ප්‍රතිස්ථාපනය

මෙය mysqldump (SQL ගොනුවක්) මගින් සාදන ලද ආපසු ගත කිරීම ප්‍රතිස්ථාපනය කිරීමේ ක්‍රියාවලියයි.

  1. පවතින දත්ත ගබඩාව මකන්න
  • එම නාමය සමඟ දත්ත ගබඩාවක් පවතිනවා නම්, එය මකා නව දත්ත ගබඩාවක් සාදන්න. sql DROP DATABASE IF EXISTS [database_name]; CREATE DATABASE [database_name];
  1. ආපසු ගත කරන දත්ත ආයාත කරන්න
  • mysql විධානය භාවිතා කර ප්‍රතිස්ථාපනය සිදු කරන්න. mysql -u [username] -p[password] [database_name] < [backup_file.sql]
  • උදාහරණය :
    mysql -u root -p mydatabase < /path/to/backup.sql
    
  1. ප්‍රතිස්ථාපනය සාර්ථක වූ බව තහවුරු කරන්න
  • ප්‍රතිස්ථාපනයෙන් පසු, දත්ත ගබඩාවේ වගු සහ දත්ත පරීක්ෂා කරන්න. sql SHOW TABLES; SELECT * FROM [table_name] LIMIT 5;

2. භෞතික ආපසු ගත කිරීම ප්‍රතිස්ථාපනය

භෞතික ආපසු ගත කිරීම් සමඟ, MySQL දත්ත ගොනු සෘජුව පිටපත් කිරීමෙන් ප්‍රතිස්ථාපනය කරයි. මෙම ක්‍රමය විශාල දත්ත ගබඩා සඳහා හෝ වේගවත් ප්‍රතිසාධනය අවශ්‍ය වන විට සුදුසු වේ.

  1. MySQL සේවාදායකය නවත්වන්න
  • ප්‍රතිස්ථාපනයේදී දත්ත ගැටුම් වැළැක්වීමට MySQL සේවාදායකය නවත්වන්න. bash systemctl stop mysql
  1. දත්ත නාමාවලිය ප්‍රතිස්ථාපනය කරන්න
  • ආපසු ගත කරන ලද දත්ත නාමාවලිය MySQL නාමාවලියට (සාමාන්‍යයෙන් /var/lib/mysql ) පිටපත් කරන්න. bash cp -R /backup/path/mysql /var/lib/mysql
  1. නිවැරදි හිමිකාරීත්වය සහ අවසරයන් සකසන්න
  • දත්ත නාමාවලිය සඳහා නිවැරදි හිමිකරු සහ අවසරයන් සකසන්න. bash chown -R mysql:mysql /var/lib/mysql
  1. MySQL සේවාදායකය ආරම්භ කරන්න
  • සේවාදායකය නැවත ආරම්භ කර ප්‍රතිස්ථාපනය සාර්ථක වූ බව තහවුරු කරන්න. bash systemctl start mysql
  1. ප්‍රතිස්ථාපනය සාර්ථක වූ බව තහවුරු කරන්න
  • දත්ත ගබඩාවට ප්‍රවේශ වීමෙන් අන්තර්ගතයන් නිවැරදිව ප්‍රතිස්ථාපනය වූ බව තහවුරු කරන්න.

විශේෂ ප්‍රතිස්ථාපන අවස්ථා

1. විශේෂිත වගුවක් පමණක් ප්‍රතිස්ථාපනය

mysqldump ආපසු ගත කිරීමෙන් විශේෂිත වගුවක් පමණක් ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය නම්, පහත පරිදි සඳහන් කරන්න.

  • විශේෂිත වගුවක් නිර්යාත කරන්න
    mysqldump -u [username] -p[password] [database_name] [table_name] > table_backup.sql
    
  • විශේෂිත වගුවක් ආයාත කරන්න
    mysql -u [username] -p[password] [database_name] < table_backup.sql
    

2. දත්ත ගබඩා අනුවාද වෙනස් වීමේදී

MySQL අනුවාද වෙනස් නම්, ආපසු ගත කරන ගොනුව සෘජුව ආයාත කිරීම දෝෂ ඇති කරයි. එවැනි අවස්ථාවල පහත පියවර අනුගමනය කරන්න.

  • අනුකූලතාව පරීක්ෂා කරන්න mysqldump සමඟ --compatible විකල්පය භාවිතා කර අනුකූල ආකාරයේ ආපසු ගත කිරීමක් සාදන්න.
    mysqldump --compatible=mysql40 -u [username] -p[password] [database_name] > [backup_file.sql]
    
  • අවශ්‍ය නම් අතින් සංස්කරණය කරන්න SQL ගොනුව පෙළ සංස්කාරකයකින් විවෘත කර දෝෂ ඇති කරන වාක්‍ය රචනය නිවැරදි කරන්න.

ප්‍රතිස්ථාපනයේදී වැදගත් සටහන්

  1. දත්ත ගබඩාව පෙර ආපසු ගත කරන්න
  • ප්‍රතිස්ථාපන අසාර්ථකතා සඳහා සූදානම් වීමට, ආරම්භ කිරීමට පෙර වත්මන් දත්ත ගබඩාව ආපසු ගත කරන්න.
  1. ප්‍රතිස්ථාපන පසු තහවුරු කිරීම
  • දත්ත සමගාමීතාවය සහ පූර්ණත්වය තහවුරු කිරීම සඳහා යෙදුම් සහ SQL විමසුම් භාවිතා කර කාර්ය සාධන පරීක්ෂණ ක්‍රියාත්මක කරන්න.
  1. ප්‍රතිස්ථාපනයේදී සම්පත් කළමනාකරණය
  • විශාල දත්ත කට්ටල ප්‍රතිස්ථාපනයේදී, සේවාදායක සම්පත් බරපතළව පවතී. එබැවින් කාලය සැලසුම් කරගන්න.

දෝෂ නිරාකරණය

  1. දෝෂ පණිවිඩය: “වගුව නොපවතී”
  • සැකසීමේ ක්‍රමය: wp:list /wp:list

    • වගුව නිසි ලෙස සෑදීමට නොමැති නම්, වගු සැකැස්ම (ගොඩනැගීම) පරීක්ෂා කරන්න. sql SHOW CREATE TABLE [table_name];
  1. දෝෂ පණිවුඩය: “පරිශීලකයා සඳහා ප්‍රවේශය ප්‍රතික්ෂේප කරන ලදී”
  • විසඳුම: wp:list /wp:list

    • පරිශීලක අවසර පරීක්ෂා කර අවශ්‍ය නම් ඒවා ලබා දෙන්න. sql GRANT ALL PRIVILEGES ON [database_name].* TO '[username]'@'[host_name]'; FLUSH PRIVILEGES;
  1. ප්‍රතිස්ථාපනය මැදින් නතර වේ
  • විසඳුම: wp:list /wp:list

    • උපස්ථ ගොනුව දූෂිත විය හැක. නව උපස්ථයක් සෑදීමට mysqldump නැවත ධාවනය කරන්න.

6. නිතර අසන ප්‍රශ්න

MySQL උපස්ථ සහ ප්‍රතිස්ථාපනය පිළිබඳ නිතර අසන ප්‍රශ්න (FAQ) සහ පිළිතුරු මෙහි ඇත. මෙම මාර්ගෝපදේශය ආරම්භකයන් සිට මධ්‍යම පරිශීලකයන් දක්වා සාමාන්‍ය ගැටළු විසඳීමට උපකාරී වේ.

Q1: උපස්ථයක් ගන්නා අතර දත්ත ගබඩාව වෙනස් වුවහොත් කුමක් වේද?

පිළිතුර:
mysqldump භාවිතයෙන් උපස්ථයක් ගන්නා අතර දත්ත ගබඩාව වෙනස් වුවහොත්, උපස්ථයේ අඛණ්ඩතාවය අහිමි විය හැක. මෙය සලසා ගැනීමට, පහත විකල්පය භාවිතා කරන්න:

  • --single-transaction : ඔබ ගනුදෙනු-සහය දක්වන ගබඩා එන්ජින් (උදාහරණයක් ලෙස InnoDB) භාවිතා කරන්නේ නම්, මෙය අඛණ්ඩ උපස්ථයක් සෑදේ.
    mysqldump --single-transaction -u [username] -p[password] [database_name] > backup.sql
    
  • තාවකාලිකව සේවාදායකය නවතා භෞතික උපස්ථයක් ගැනීමද ප්‍රයෝජනවත් විය හැක.

Q2: විශාල දත්ත ගබඩා සඳහා mysqldump ගතවන කාලය වැඩිය. මට කුමක් කළ යුතුද?

පිළිතුර:
විශාල දත්ත ගබඩා සඳහා උපස්ථ කාලය අඩු කිරීමට, පහත කරුණු සලකා බලන්න:

  1. සමකාලීන සැකසීම :
  • mysqldump බහු වගු වෙත බෙදා සමකාලීනව ධාවනය කිරීමෙන් වේගය වැඩි කරන්න.
  • මෙම ක්‍රමය ස්වයංක්‍රීය කිරීම සඳහා ස්ක්‍රිප්ට් භාවිතය නිර්දේශිතය.
  1. භෞතික උපස්ථ මෙවලම් භාවිතා කරන්න :
  • Percona XtraBackup සහ MySQL Enterprise Backup වැනි මෙවලම් විශාල දත්ත ගබඩා කාර්යක්ෂමව උපස්ථගත කළ හැක.
  1. උපස්ථ පරාසය සීමා කරන්න :
  • අවශ්‍ය දත්ත පමණක් උපස්ථගත කිරීමෙන් සැකසුම් කාලය අඩු වේ.
    mysqldump -u [username] -p[password] [database_name] [table_name] > partial_backup.sql
    

Q3: උපස්ථ ගොනුව ඉතා විශාලයි. එය සංග්‍රහ කිරීමට කෙසේද?

පිළිතුර:
උපස්ථ ගොනුව සංග්‍රහ කිරීමට පහත ක්‍රම වලින් එකක් භාවිතා කරන්න.

  1. gzip භාවිතා කරන්න
  • mysqldump ප්‍රතිඵලය සෘජුව gzip වෙත පයිප් කරගන්න. bash mysqldump -u [username] -p[password] [database_name] | gzip > backup.sql.gz
  1. පසුකාලීනව මෙවලමක් භාවිතා කර සංග්‍රහ කරන්න
  • mysqldump විසින් සෑදූ ගොනුව පසුකාලීනව මෙවලමක් (උදා: tar, zip) භාවිතා කර සංග්‍රහ කරන්න. bash tar -czvf backup.tar.gz backup.sql

Q4: උපස්ථ ගොනුවෙන් නියමිත දත්ත පමණක් ප්‍රතිස්ථාපනය කළ හැදුවේද?

පිළිතුර:
ඔව්, ඔබට නියමිත වගු හෝ දත්ත පමණක් ප්‍රතිස්ථාපනය කළ හැක.

  1. නියමිත වගුවක් ප්‍රතිස්ථාපනය කරන්න :
  • mysqldump භාවිතයෙන් උපස්ථය සෑදීමේදී වගුව නිරූපණය කරන්න. bash mysqldump -u [username] -p[password] [database_name] [table_name] > table_backup.sql
  • මෙම ගොනුව ප්‍රතිස්ථාපනය කරන්න. bash mysql -u [username] -p[password] [database_name] < table_backup.sql

Q5: උපස්ථයක් අසාර්ථක වූ විට මට කුමක් පරීක්ෂා කළ යුතුද?

පිළිතුර:
උපස්ථයක් අසාර්ථක වූ විට, පහත කරුණු පරීක්ෂා කරන්න:

  1. පරිශීලක අවසර :
  • MySQL පරිශීලකයාට ප්‍රමාණවත් අවසර (උදා: SELECT, LOCK TABLES, SHOW VIEW, EVENT ආදිය) ඇති බව තහවුරු කරන්න. sql SHOW GRANTS FOR 'username'@'host_name';
  1. ලබා ගත හැකි ගබඩා ඉඩ :
  • සේවාදායකයේ තැටි ඉඩ අඩු නම්, උපස්ථය අත්හිටුවිය හැක.
  1. දෝෂ ලොග් :
  • MySQL සේවාදායකයේ දෝෂ ලොග් පරීක්ෂා කර හේතුව හඳුනා ගන්න. bash tail -n 50 /var/log/mysql/error.log
  1. විධාන වාක්‍ය රචනය :
  • mysqldump සහ භෞතික උපස්ථ මෙවලම් විධාන සඳහා වාක්‍ය රචනය නැවත පරීක්ෂා කරන්න.

Q6: මගේ උපස්ථ ස්ක්‍රිප්ට් එකේ මුරපදය ඇතුළත් කිරීමට මට අවශ්‍ය නැත. මට කුමක් කළ යුතුද?

පිළිතුර:
MySQL හි ~/.my.cnf ගොනුව භාවිතා කිරීමෙන් මුරපදය සෘජුවම ඔබේ ස්ක්‍රිප්ට් එකේ ඇතුළත් කිරීම අවශ්‍ය නොවේ.

  1. වින්‍යාස ගොනුවක් සාදන්න
  • ඔබේ නිවසේ (home) ඩිරෙක්ටරියේ .my.cnf ගොනුවක් සාදන්න.
    user=root
    password=yourpassword
    
  1. ඔබේ ස්ක්‍රිප්ට් එකෙන් එය කැඳවන්න
  • mysqldump ධාවනය කරන විට මුරපදය නොදැක්විය හැක. bash mysqldump [database_name] > backup.sql

Q7: මට උපස්ථයන් වලාකුළු ගබඩාවල (cloud storage) සුරකින්න හැකිද?

පිළිතුර:
උපස්ථයන් වලාකුළු ගබඩාවල සුරැකීමට, පහත පියවර අනුගමනය කරන්න:

  1. උදාහරණය: Amazon S3 වෙත සුරකින්න :
  • AWS CLI ස්ථාපනය කරන්න. bash aws s3 cp backup.sql s3://your-bucket-name/
  1. උදාහරණය: Google Cloud Storage වෙත සුරකින්න :
  • gcloud CLI ස්ථාපනය කර පහත කමාන්ඩ් එක ක්‍රියාත්මක කරන්න. bash gcloud storage cp backup.sql gs://your-bucket-name/
  1. rsync භාවිතයෙන් දුරස්ථ සේවාදායකයකට සුරකින්න :
  • SSH මගින් දුරස්ථ සේවාදායකයකට ගොනුව මාරු කරන්න. bash rsync -avz backup.sql user@remote-server:/path/to/backup/

7. සාරාංශය

MySQL පිටපත් කිරීම දත්ත ආරක්ෂාව සහ ගැටළුවක් ඇති වූ විට වේගවත් ප්‍රතිසාධනය සලස්වීමට අත්‍යවශ්‍ය කාර්යයකි. මෙම ලිපියේ, අපි MySQL පිටපත් කිරීමේ මූලික කරුණු, ප්‍රායෝගික ක්‍රම, හොඳම පුරුදු, සහ නිතර අසන ප්‍රශ්න (FAQ) විස්තරාත්මකව ආවරණය කර ඇත.

ප්‍රධාන ග්‍රහණයන්

  1. MySQL පිටපත් කිරීමේ වැදගත්කම
  • නිතර පිටපත් කිරීම දත්ත අහිමි වීමේ අවදානම් (දෘඩාංග දෝෂ, මනුෂ්‍ය දෝෂ, සයිබර් ප්‍රහාර, ආදිය) වලින් ආරක්ෂා වීමට අත්‍යවශ්‍ය වේ.
  1. පිටපත් කිරීමේ මූලික කරුණු
  • සම්පූර්ණ පිටපත්, ඉන්ක්‍රමෙන්ටල් පිටපත්, සහ වෙනස්කම් පිටපත් අතර වෙනස්කම් තේරුම් ගැනීම සහ ඔබේ පරිසරයට සුදුසුම ක්‍රමය තෝරා ගැනීම වැදගත් වේ.
  • භෞතික පිටපත් සහ තාර්කික පිටපත් නිසි ලෙස භාවිත කිරීම කාර්යක්ෂම මෙහෙයුම් සලසයි.
  1. ප්‍රායෝගික පිටපත් ක්‍රම
  • mysqldump සහ Percona XtraBackup භාවිතා කර පිටපත් ක්‍රම ඉගෙන ගන්න, සහ අවශ්‍ය පරිදි ස්වයංක්‍රීය ස්ක්‍රිප්ට් සකස් කිරීමෙන් කාර්යක්ෂමතාව වැඩි කරන්න.
  1. පිටපත් කිරීමේ හොඳම පුරුදු
  • පිටපත් බාහිරව හෝ වලාකුළේ සුරකිමින්, රඳවා ගැනීමේ නීති යොදාගෙන, නිතර ප්‍රතිස්ථාපන පරීක්ෂණ ක්‍රියාත්මක කිරීමෙන් ආරක්ෂාව සහ විශ්වාසනීයතාව වැඩි කරන්න.
  1. ප්‍රතිස්ථාපන ක්‍රියාවලි
  • mysqldump සහ භෞතික පිටපත් සඳහා ප්‍රතිස්ථාපන පියවර සහ ගැටළු විසඳීම තේරුම් ගැනීම අත්‍යවශ්‍ය වේ.
  1. නිතර අසන ප්‍රශ්න (FAQ)
  • සාමාන්‍ය මෙහෙයුම් ප්‍රශ්න සහ ගැටළු සඳහා නිරුපිත විසඳුම් දැන ගැනීම, ගැටළුවක් ඇති වූ විට වේගයෙන් ප්‍රතිචාර දැක්වීමට උපකාරී වේ.

නිතර පිටපත් කිරීම ප්‍රායෝගික කරගන්න

පිටපත් “එකවර සකස් කර අමතක කරන්න” යන ආකාරයට නොවේ—ඒවා නිරන්තර මෙහෙයුම් සහ සත්‍යාපනය අවශ්‍ය වේ. නිතර පිටපත් කිරීමේ අඩිතාලය, ගබඩා ස්ථානය, සහ ප්‍රතිස්ථාපන පරීක්ෂණය සමාලෝචනය කර ඔබේ නවතම මෙහෙයුම් පරිසරයට අනුකූලව තබා ගන්න. වලාකුළු ගබඩා සහ ස්වයංක්‍රීය මෙවලම් භාවිතයෙන්, කාර්යක්ෂමතාව වැඩි කර මෙහෙයුම් බර අඩු කළ හැක.

ඊළඟ පියවර

මෙම ලිපියෙන් ඔබ ඉගෙන ගත් දේ මත පදනම්ව, පහත ක්‍රියාමාර්ග වලින් ආරම්භ කරන්න:

  • ඔබේ වත්මන් MySQL පිටපත් සැකසුම සමාලෝචනය කර, සංවර්ධනය කළ යුතු ප්‍රදේශ හඳුනා ගන්න.
  • මෙහෙයුම් සරල කිරීම සඳහා ස්වයංක්‍රීය පිටපත් ස්ක්‍රිප්ට් එකක් සාදන්න.
  • ඔබේ පිටපත් දත්ත වල සත්‍යාපනය සඳහා නිතර ප්‍රතිස්ථාපන පරීක්ෂණ ක්‍රියාත්මක කරන්න.

අදම පිටපත් සැලසුම් කිරීම ආරම්භ කර, ඔබේ පද්ධති විශ්වාසයෙන් ක්‍රියාත්මක කළ හැකි පරිසරයක් ගොඩනඟන්න!