কম্পিউটার

মাইএসকিউএল টেবিল বা ইনডেক্স পুনর্নির্মাণ বা মেরামত করা


টেবিল এবং সূচীতে পরিবর্তনগুলি বোঝায় কিভাবে MySQL ডেটা প্রকার এবং অক্ষর সেটগুলি পরিচালনা করে৷ প্রয়োজনীয় টেবিল মেরামত বা আপগ্রেডগুলি চেক টেবিল, mysqlcheck, বা mysql_upgrade দ্বারা রিপোর্ট করা হয়৷

একটি টেবিল পুনর্নির্মাণ করুন

একটি টেবিল পুনর্নির্মাণের অনেক পদ্ধতি আছে। তাদের মধ্যে কিছু নীচে তালিকাভুক্ত করা হয়েছে -

  • ডাম্প এবং রিলোড পদ্ধতি

  • টেবিল পদ্ধতি পরিবর্তন করুন

  • মেরামত টেবিল পদ্ধতি

আসুন আমরা তাদের প্রতিটিকে সংক্ষেপে বুঝি -

ডাম্প এবং রিলোড পদ্ধতি

বাইনারি (ইন-প্লেস) আপগ্রেড বা ডাউনলোড করার পরে MySQL সংস্করণের বিভিন্ন সংস্করণ টেবিলগুলি পরিচালনা করতে না পারার কারণে যদি টেবিলগুলি পুনর্নির্মাণ করা হয়, তাহলে এই ডাম্প এবং পুনরায় লোড পদ্ধতি ব্যবহার করা প্রয়োজন৷

ডাম্পিং এবং পুনরায় লোড করে একটি টেবিল পুনর্নির্মাণ করা যেতে পারে। এটি 'mysqldump' ব্যবহার করে এবং একটি ডাম্প ফাইল তৈরি করে এবং mysql-কে ফাইলটি পুনরায় লোড করার অনুমতি দিয়ে করা যেতে পারে। নিচের কমান্ড −

ব্যবহার করে এটি করা যেতে পারে
mysqldump db_name t1 > dump.sql
mysql db_name < dump.sql

যদি সমস্ত টেবিল একটি একক ডাটাবেসে পুনর্নির্মাণ করতে হয়, তবে কোনও টেবিলের নাম ব্যবহার না করেই ডাটাবেসের নাম নির্দিষ্ট করা যেতে পারে। এটি নীচের কমান্ড -

ব্যবহার করে করা যেতে পারে
mysqldump db_name > dump.sql
mysql db_name < dump.sql

যদি সমস্ত ডাটাবেসের সমস্ত টেবিল পুনর্নির্মাণ করতে হয়, তবে '− − সমস্ত ডেটাবেস' বিকল্পটি ব্যবহার করতে হবে। এটি নীচের কমান্ড -

ব্যবহার করে করা যেতে পারে
mysqldump --all-databases > dump.sql
mysql < dump.sql

টেবিল পদ্ধতি পরিবর্তন করুন

যদি ALTER TABLE পদ্ধতি ব্যবহার করে একটি টেবিল পুনর্নির্মাণের প্রয়োজন হয়, তাহলে একটি "নাল" পরিবর্তন ব্যবহার করা যেতে পারে। একটি ALTER TABLE স্টেটমেন্ট ব্যবহার করা যেতে পারে যা টেবিল পরিবর্তন করে যাতে এটি স্টোরেজ ইঞ্জিন ব্যবহার করতে পারে। একটি উদাহরণ দেওয়া যাক:ধরুন TblName একটি InnoDB টেবিল, নীচের বিবৃতিটি টেবিলটি পুনর্নির্মাণ করতে ব্যবহার করা যেতে পারে −

ALTER TABLE TblName ENGINE = InnoDB;

টেবিল মেরামত পদ্ধতি

মেরামত টেবিল পদ্ধতি শুধুমাত্র MyISAM, আর্কাইভ, এবং CSV টেবিলের জন্য প্রযোজ্য। বিবৃতি REPAIR TABLE ব্যবহার করা যেতে পারে যদি টেবিল চেকিং অপারেশন পরামর্শ দেয় যে ফাইলটি দূষিত হয়েছে বা একটি আপগ্রেড প্রয়োজন। আসুন একটি উদাহরণ নেওয়া যাক:একটি MyISAM টেবিল মেরামত করার জন্য, নীচের বিবৃতিটি কার্যকর করা যেতে পারে -

REPAIR TABLE TblName;

mysqlcheck −−repair রিপেয়ার টেবিল স্টেটমেন্টে কমান্ড-লাইন অ্যাক্সেস প্রদান করে। এটি টেবিল মেরামত করার একটি আরও সুবিধাজনক উপায় হতে পারে কারণ আপনি একটি ডাটাবেসের একটি নির্দিষ্ট টেবিল মেরামত করতে −−ডাটাবেস ব্যবহার করতে পারেন বা সমস্ত ডাটাবেসের সমস্ত টেবিল মেরামত করতে −−all−databases বিকল্প ব্যবহার করতে পারেন। এটি নিচের কমান্ড −

ব্যবহার করে করা যেতে পারে
mysqlcheck −−repair −−databases db_name ...
mysqlcheck −−repair −−all−databases

  1. এইচটিএমএল টেবিল

  2. MySQL-এ দুটি টেবিলের UNION-এর সাথে স্টেটমেন্ট হিসাবে টেবিল তৈরি করুন

  3. দুটি টেবিলে একটি একক MySQL নির্বাচন প্রশ্ন সম্ভব?

  4. কিভাবে সূচী সহ একটি MySQL টেবিল তৈরি করবেন?