MySQL/MariaDB ব্যাকআপ এবং ডিকম্প্রেশন কমান্ডের একটি সম্পূর্ণ নির্দেশিকা: শিক্ষানবিস থেকে বিশেষজ্ঞ পর্যন্ত

মাইএসকিউএলMariaDB ব্যাকআপ এবং ডিকম্প্রেশন কমান্ডের একটি সম্পূর্ণ নির্দেশিকা

শিক্ষানবিশ থেকে বিশেষজ্ঞ পর্যন্ত, যা যা থাকছে...মাইএসকিউএলএই কোর্সটি ডাম্প ব্যাকআপ, জিজিপ কম্প্রেশন, গানজিপ ডিকম্প্রেশন এবং মাইএসকিউএল ইম্পোর্টের একটি সম্পূর্ণ ওয়ার্কফ্লো প্রদান করে, যা ডেভেলপারদের ডেটা নিরাপত্তা এবং ব্যবসায়িক ধারাবাহিকতা নিশ্চিত করার জন্য ডাটাবেস ব্যাকআপ ও রিকভারি কৌশল দ্রুত আয়ত্ত করতে সাহায্য করে।

যদিও MySQL এবং MariaDB-এর উৎস একই, ওপেন-সোর্স লাইসেন্সিং, ফিচার সম্প্রসারণ, পারফরম্যান্স অপ্টিমাইজেশন এবং কমিউনিটি ইকোসিস্টেমের ক্ষেত্রে এদের মধ্যে উল্লেখযোগ্য পার্থক্য রয়েছে। MariaDB সম্পূর্ণ ওপেন সোর্স এবং ফিচার উদ্ভাবনের উপর জোর দেয়, অন্যদিকে MySQL ওরাকলের বাণিজ্যিক সমর্থনের উপর নির্ভর করে এবং এন্টারপ্রাইজ-স্তরের অ্যাপ্লিকেশনের জন্য বেশি উপযুক্ত।

ডাটাবেস ক্র্যাশ করার পরেই আমি ব্যাকআপের গুরুত্ব বুঝতে পারলাম।

প্রত্যেক ডেভেলপারই ডেটা হারানোর বেদনাদায়ক অভিজ্ঞতার সম্মুখীন হয়েছেন, এবং MySQL ও MariaDB-এর ব্যাকআপ ও রিস্টোর কমান্ডগুলোই এক্ষেত্রে জীবন রক্ষাকারী।

এখন আমি আপনাদেরকে MySQL/MariaDB-এর ব্যাকআপ, ডিকম্প্রেশন এবং ইম্পোর্ট কমান্ডগুলো যথাসম্ভব সহজভাবে বুঝিয়ে দেব।

MySQL/MariaDB ব্যাকআপ কমান্ডগুলো এত গুরুত্বপূর্ণ কেন?

ডেটা হলো ব্যবসার প্রাণ।

ডাটাবেস ক্ষতিগ্রস্ত হলে ব্যবসা বন্ধ হয়ে যেতে পারে এবং এমনকি লক্ষ লক্ষ টাকার ক্ষতিও হতে পারে।

IEEE ট্রানজ্যাকশনস অন কম্পিউটারস-এ প্রকাশিত একটি গবেষণা অনুসারে, ডাটাবেস ডাউনটাইমের কারণে প্রতিষ্ঠানগুলো প্রতি মিনিটে [অপরিহার্য পরিমাণ] পর্যন্ত ক্ষতির সম্মুখীন হয়। 5600 মার্কিন ডলার(উৎস: আইইইই, ২০২৩)।

এই কারণেই আপনাকে ব্যাকআপ কমান্ডগুলো মুখস্থ রাখতে হবে।

MySQL/MariaDB ব্যাকআপ কমান্ডগুলোর বিস্তারিত ব্যাখ্যা

MySQL/MariaDB ব্যাকআপ এবং ডিকম্প্রেশন কমান্ডের একটি সম্পূর্ণ নির্দেশিকা: শিক্ষানবিস থেকে বিশেষজ্ঞ পর্যন্ত

সবচেয়ে সাধারণ ব্যাকআপ পদ্ধতি হল ব্যবহার করা mysqldump.

কমান্ডটি নিম্নরূপ:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
  • -u rootব্যবহারকারীকে নির্দিষ্ট করুন।
  • -p[root_password]আপনার পাসওয়ার্ড দিন।
  • [database_name]যে ডাটাবেসটি ব্যাক আপ করা হবে তার নাম।
  • dumpfilename.sqlব্যাকআপ ফাইলের নাম।

উদাহরণস্বরূপ, যদি আপনার ডাটাবেসের নাম হয়... shopdbফাইলের নাম হল shop_backup.sqlসুতরাং কমান্ডটি হলো:

mysqldump -u root -p123456 shopdb > shop_backup.sql

MariaDB-ও এটি সমর্থন করে। mysqldumpবাক্যগঠনটি সম্পূর্ণ সামঞ্জস্যপূর্ণ।

এটা কি খুব সহজবোধ্য নয়?

ব্যাকআপ ফাইলের আকার এবং সংকোচন

কখনও কখনও ডেটাবেস ফাইলগুলো অত্যন্ত বড় হয়, প্রায়শই এগুলোর আকার কয়েক গিগাবাইট হয়ে থাকে।

এইখানেই কম্প্রেশনের প্রয়োজন হয়।

লিনাক্সসবচেয়ে সাধারণ কম্প্রেশন কমান্ড হল gzip:

gzip shop_backup.sql

সংকুচিত ফাইলটি হয়ে যায় shop_backup.sql.gz.

এটি কেবল স্টোরেজের জায়গাই বাঁচায় না, ডেটা স্থানান্তরকেও সহজ করে তোলে।

আনজিপ কমান্ড: পুনরুদ্ধারের প্রথম ধাপ

ইম্পোর্ট করার আগে ডাটাবেসটি অবশ্যই আনজিপ করতে হবে।

কমান্ডটি নিম্নরূপ:

gunzip FileName.gz

যেমন:

gunzip shop_backup.sql.gz

ডিকম্প্রেশনের পরে আপনি পাবেন shop_backup.sqlএই ফাইলটি ইম্পোর্ট করা যাবে।

MySQL/MariaDB ইম্পোর্ট কমান্ডগুলোর বিস্তারিত ব্যাখ্যা

ইম্পোর্ট কমান্ড এবং ব্যাকআপ প্রায় একে অপরের প্রতিচ্ছবি:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql

উদাহরণ স্বরূপ:

mysql -u root -p123456 shopdb < shop_backup.sql

এই ধাপে ব্যাকআপ ফাইল থেকে ডেটা সম্পূর্ণরূপে ডাটাবেসে ইম্পোর্ট করা হবে।

মারিয়াডিবিও ব্যবহার করে mysql `import` কমান্ডটি সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ।

বাস্তব পরিস্থিতি: ব্যাকআপ থেকে পুনরুদ্ধার পর্যন্ত সম্পূর্ণ প্রক্রিয়া

ধরুন আপনার আছেবিদ্যুৎ সরবরাহকারীডেটাবেস shopdb.

  1. ব্যাকআপ:

    mysqldump -u root -p123456 shopdb > shop_backup.sql
    
  2. সংকোচন:

    gzip shop_backup.sql
    

পাওয়া shop_backup.sql.gz.

  1. আনজিপ করুন:
    gunzip shop_backup.sql.gz
    

পুনরুদ্ধার করুন shop_backup.sql.

  1. আমদানি:
    mysql -u root -p123456 shopdb < shop_backup.sql
    

সম্পূর্ণ প্রক্রিয়াটি নির্বিঘ্নে সম্পন্ন হয়েছিল।

সাধারণ ভুল এবং সমাধান

  • ত্রুটি ১: প্রবেশাধিকার প্রত্যাখ্যাত
    এটি একটি ভুল পাসওয়ার্ড অথবা অপর্যাপ্ত ব্যবহারকারী অধিকার নির্দেশ করে।
    সমাধান: ব্যবহারকারীর অনুমতিগুলো যথাযথভাবে আছে কিনা তা যাচাই করুন। SELECTINSERT অনুমতিসমূহ।

  • ত্রুটি ২: মেমোরি শেষ হয়ে গেছে
    ডাটাবেসটি অনেক বড় এবং ডেটা ইম্পোর্ট করার সময় পর্যাপ্ত মেমরি নেই।
    সমাধান: ব্যবহার করুন --single-transaction ব্যাচ আকারে প্যারামিটার ইম্পোর্ট করুন।

  • ত্রুটি ৩: বিকৃত পাঠ্য সমস্যা
    আমদানি করার পর চীনা অক্ষরগুলো প্রশ্নবোধক চিহ্ন হিসেবে প্রদর্শিত হচ্ছে।
    সমাধান: কমান্ডে নিম্নলিখিতটি যোগ করুন। --default-character-set=utf8mb4.

উদ্ধৃত প্রামাণিক মতামত

MySQL-এর অফিসিয়াল ডকুমেন্টেশনে স্পষ্টভাবে বলা আছে:

"ব্যবহার mysqldump লজিক্যাল ব্যাকআপ হলো পছন্দের পদ্ধতি, কারণ এটি ডেটা কাঠামো এবং ডেটার বিষয়বস্তুর মধ্যে সামঞ্জস্য নিশ্চিত করে। (উৎস: MySQL রেফারেন্স ম্যানুয়াল, ওরাকল)

অফিসিয়াল MariaDB ডকুমেন্টেশনে আরও জোর দেওয়া হয়েছে:

MariaDB, MySQL-এর ব্যাকআপ এবং রিস্টোর কমান্ডের সাথে সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ, যা ডেভেলপারদের নির্বিঘ্নে মাইগ্রেট করার সুযোগ দেয়। (উৎস: MariaDB নলেজ বেস)

এই বিবৃতিটি কমান্ড-লাইন ব্যাকআপের গুরুত্ব পুনর্ব্যক্ত করে।

উন্নত কৌশল: স্বয়ংক্রিয় ব্যাকআপ

ম্যানুয়াল ব্যাকআপ কি খুব ঝামেলাপূর্ণ?

用 用 crontab নির্ধারিত কাজসমূহ।

উদাহরণস্বরূপ, প্রতিদিন ভোর ২টায় স্বয়ংক্রিয় ব্যাকআপ:

0 2 * * * mysqldump -u root -p123456 shopdb > /backup/shop_$(date +\%F).sql

এটি প্রতিদিন তারিখসহ একটি ব্যাকআপ ফাইল তৈরি করবে।

যোগফল

ডাটাবেস ব্যাকআপ কোনো বিকল্প নয়, বরং এটি জীবন-মরণের প্রশ্ন।

মাস্টার mysqldump,gunzipmysql ইম্পোর্ট কমান্ডটি হলো ডাটাবেস নিয়ন্ত্রণ করার জন্য পাওয়ার সুইচ থাকার মতো।

আমার বক্তব্য খুবই স্পষ্ট:ডেটা নিরাপত্তা একটি কোম্পানির সর্বোচ্চ অগ্রাধিকার, এবং ব্যাকআপই এর একমাত্র সুরক্ষা ব্যবস্থা।

হার্ভার্ড বিজনেস রিভিউ যেমনটি বলেছে:

ডিজিটাল যুগে ডেটা সোনার চেয়েও মূল্যবান।

তাই এখনই ব্যবস্থা নিন, আপনার ব্যাকআপ স্ক্রিপ্টটি লিখে ফেলুন এবং আপনার ডেটা সুরক্ষিত রাখুন।

এটা শুধু প্রযুক্তি বিষয়ক নয়, বরং দায়িত্ব বিষয়কও।

হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ এখানে শেয়ার করা "A Complete Guide to MySQL/MariaDB Backup and Decompression Commands: From Beginner to Expert" আর্টিকেলটি আপনার জন্য সহায়ক হতে পারে।

এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-33917.html

আরও লুকানো কৌশল 🔑 জানতে, আমাদের টেলিগ্রাম চ্যানেলে যোগদান করতে স্বাগতম!

ভালো লাগলে শেয়ার এবং লাইক করুন! আপনার শেয়ার এবং লাইক আমাদের অব্যাহত অনুপ্রেরণা!

 

发表 评论

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. 必填 项 已 用 * 标注

উপরে যান