Full এবং Incremental Backup কৌশল

MariaDB এর জন্য ডেটাবেজ ব্যাকআপ এবং রিকভারি - মারিয়া ডিবি (MariaDB) - Database Tutorials

279

ডেটাবেস ব্যাকআপ হল ডেটাবেসের ডেটা এবং স্ট্রাকচারের একটি কপি তৈরি করার প্রক্রিয়া, যাতে কোন অপ্রত্যাশিত পরিস্থিতি (যেমন হার্ডওয়্যার ব্যর্থতা, সিস্টেম ক্র্যাশ, বা ডেটা লস) এ ডেটা পুনরুদ্ধার করা যায়। মারিয়া ডিবি (MariaDB) তে ব্যাকআপ করার দুটি প্রধান কৌশল আছে: Full Backup এবং Incremental Backup

  • Full Backup: পুরো ডেটাবেসের একটি পূর্ণ কপি তৈরি করে।
  • Incremental Backup: শুধুমাত্র পূর্ববর্তী ব্যাকআপের পর পরিবর্তিত বা নতুন ডেটার কপি তৈরি করে।

Full Backup কী?

Full Backup হল ডেটাবেসের সব ডেটা এবং স্ট্রাকচার (টেবিল, ইনডেক্স, কনফিগারেশন, ইত্যাদি) একবারে একটি ফাইল বা আর্কাইভে কপি করার প্রক্রিয়া। এতে ডেটাবেসের সম্পূর্ণ কপি থাকে, যা দ্রুত এবং সহজে পুনরুদ্ধার করা যায়।


Full Backup নেওয়ার পদ্ধতি

১. mysqldump কমান্ড ব্যবহার করে Full Backup

mysqldump হল MariaDB এবং MySQL এর জন্য একটি কনভেনশনাল টুল যা ডেটাবেসের ডাম্প ফাইল তৈরি করতে ব্যবহৃত হয়। নিচে একটি উদাহরণ দেয়া হলো:

mysqldump -u root -p --all-databases > full_backup.sql

এখানে:

  • -u root: MariaDB সার্ভারে ব্যবহারকারীর নাম।
  • -p: পাসওয়ার্ড প্রম্পট।
  • --all-databases: সমস্ত ডেটাবেসের ব্যাকআপ নেয়।
  • > full_backup.sql: ব্যাকআপ ফাইলের নাম।

এই কমান্ডটি সমস্ত ডেটাবেসের পূর্ণ কপি তৈরি করে এবং full_backup.sql ফাইলে সংরক্ষণ করবে।

২. mysqlhotcopy টুল ব্যবহার করে Full Backup

আরেকটি সহজ উপায় হল mysqlhotcopy টুল ব্যবহার করা, যা নির্দিষ্ট ডেটাবেসের দ্রুত ব্যাকআপ তৈরি করে:

mysqlhotcopy my_database /path/to/backup/

এটি my_database নামক ডেটাবেসের সমস্ত ডেটা /path/to/backup/ ফোল্ডারে কপি করবে।

৩. ফাইল-সিস্টেম ব্যাকআপ

MariaDB ডেটাবেসের ফিজিক্যাল ফাইলগুলির (যেমন .ibd, .frm, .myd ফাইল) সরাসরি কপি করতে ফাইল সিস্টেম ব্যাকআপ পদ্ধতিও ব্যবহার করা যায়। তবে, এই পদ্ধতি তখনই উপযুক্ত যখন MariaDB সার্ভার বন্ধ থাকে অথবা ব্যাকআপ নেওয়ার সময় ডেটাবেসে কোনো ট্রানজেকশন না হয়।

cp -r /var/lib/mysql/my_database /path/to/backup/

Incremental Backup কী?

Incremental Backup হল একটি ব্যাকআপ কৌশল যেখানে শুধুমাত্র শেষ ব্যাকআপের পর পরিবর্তিত বা নতুন ডেটা ব্যাকআপ করা হয়। এটি ব্যাকআপের আকার ছোট রাখে এবং ব্যাকআপ সময়কে কমিয়ে দেয়।

MariaDB তে incremental backups তৈরি করতে, আপনাকে binary log files এবং point-in-time recovery কৌশল ব্যবহার করতে হবে।


Incremental Backup নেওয়ার পদ্ধতি

১. Binary Logging সক্রিয় করা

MariaDB তে binary logs সক্রিয় করতে, আপনাকে কনফিগারেশন ফাইলে (my.cnf) নিচের লাইনটি যোগ করতে হবে:

[mysqld]
log-bin = /var/lib/mysql/mysql-bin

এটি MariaDB তে সমস্ত ট্রানজেকশন এবং অন্যান্য পরিবর্তন লগ করতে শুরু করবে। এরপর MariaDB সার্ভারটি রিস্টার্ট করুন:

sudo systemctl restart mariadb

২. প্রথম Full Backup নেওয়া

প্রথমে একটি full backup নিতে হবে, যেটি বেসলাইন হিসেবে কাজ করবে। এই ব্যাকআপের পরে যে সমস্ত পরিবর্তন হবে, তা পরবর্তীতে incremental backup হিসেবে সংরক্ষিত হবে।

mysqldump -u root -p --all-databases > full_backup.sql

৩. Binary Log Files-এর মাধ্যমে Incremental Backup নেওয়া

পরে আপনি শুধুমাত্র binary log files ব্যবহার করে incremental backups নিতে পারেন। MariaDB এর binary logs হোল ডেটাবেসের পরিবর্তনসমূহ সংরক্ষিত রাখে এবং সেগুলি incremental backup হিসেবে ব্যবহৃত হয়। প্রথমে, আপনি যে binary log file ব্যবহার করছেন তা চিহ্নিত করুন:

SHOW BINARY LOGS;

এরপর, mysqlbinlog কমান্ড ব্যবহার করে ইনক্রিমেন্টাল ব্যাকআপ নেওয়া যায়:

mysqlbinlog /var/lib/mysql/mysql-bin.000001 > incremental_backup.sql

এটি শুধুমাত্র mysql-bin.000001 ফাইলের মধ্যে থাকা পরিবর্তনগুলি (অথবা ইনক্রিমেন্ট) কপি করবে।

৪. Point-in-Time Recovery (PITR)

Point-in-Time Recovery (PITR) পদ্ধতির মাধ্যমে, আপনি একটি নির্দিষ্ট সময়ের পরে আপনার ডেটাবেস পুনরুদ্ধার করতে পারেন। এটি মূলত full backup এবং incremental backup একত্রিত করে কাজ করে।

  • প্রথমে full backup নিন।
  • তারপর binary logs (incremental backups) ব্যবহার করে ডেটাবেসে সময়ের একটি নির্দিষ্ট পয়েন্টে রিস্টোর করুন।
mysql < full_backup.sql
mysqlbinlog --start-position=xxxx /var/lib/mysql/mysql-bin.000001 | mysql

এখানে --start-position=xxxx এর মাধ্যমে আপনি যে বিনারি লগ ফাইলের একটি নির্দিষ্ট পজিশন থেকে ডেটা পুনরুদ্ধার করতে চান, তা চিহ্নিত করবেন।


Full এবং Incremental Backup-এর তুলনা

বৈশিষ্ট্যFull BackupIncremental Backup
ব্যাকআপ সাইজবৃহৎ (সম্পূর্ণ ডেটাবেস)ছোট (শুধুমাত্র পরিবর্তিত ডেটা)
ব্যাকআপ সময়বেশি সময় নেয়কম সময় নেয়
ব্যাকআপ ফ্রিকোয়েন্সিকম (সপ্তাহে একবার বা মাসে একবার)বেশি (প্রতিদিন বা প্রায় সময়)
পুনরুদ্ধার প্রক্রিয়াসহজ এবং দ্রুতসম্পূর্ণ পুনরুদ্ধার করতে Full Backup প্রয়োজন
রিসোর্স ব্যবহারবেশি (ডেটাবেসের সমস্ত ডেটা কপি করতে হয়)কম (শুধু পরিবর্তিত ডেটা কপি করা হয়)

সারাংশ

মারিয়া ডিবি (MariaDB) তে Full Backup এবং Incremental Backup দুটি গুরুত্বপূর্ণ কৌশল। Full Backup সম্পূর্ণ ডেটাবেসের কপি তৈরি করে, যা সহজে পুনরুদ্ধার করা যায়, তবে এটি সময়সাপেক্ষ এবং বৃহৎ আকারের। অন্যদিকে, Incremental Backup শুধুমাত্র শেষ ব্যাকআপের পরবর্তী পরিবর্তিত ডেটার কপি করে, যা দ্রুত এবং কম সাইজের, কিন্তু পুনরুদ্ধার প্রক্রিয়া কিছুটা জটিল হতে পারে। নির্ভর করে আপনার প্রয়োজন এবং পরিমাণগত সুবিধার উপর, আপনি এই দুটি কৌশল নির্বাচন করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...