মাইএসকিএলে আইব্লগ ফাইলগুলি ঠিক কী


15

ক্র্যাশ পুনরুদ্ধারের পদ্ধতিতে এগুলি গুরুত্বপূর্ণ ভূমিকা রাখায় আমি এই ইবদাটা ফাইলগুলি বুঝতে চাই। এর জন্য ওয়েবে আমি সঠিক সংস্থান খুঁজে পাইনি।

উত্তর:


17

ibdata1

আইবডিটা 1 ফাইলটি ইনোডিবি অবকাঠামোর জন্য সিস্টেম টেবিল স্পেস।

এটি ইনোডিবি-র জন্য প্রয়োজনীয় তথ্যগুলির জন্য বেশ কয়েকটি ক্লাস ধারণ করে classes

  • সারণী ডেটা পৃষ্ঠা
  • সারণী সূচী পৃষ্ঠা
  • তথ্য অভিধান
  • এমভিসিসি নিয়ন্ত্রণ ডেটা
    • স্পেসটি পূর্বাবস্থায় ফেরান
    • রোলব্যাক সেগমেন্টস
  • ডাবল রাইট বাফার (ওএস ক্যাচিং এড়াতে পটভূমিতে লিখিত পৃষ্ঠাগুলি)
  • বাফারটি সন্নিবেশ করুন (মাধ্যমিক সূচকগুলিতে পরিবর্তনগুলি)

একটি চিত্রের উপস্থাপনা দেখতে এখানে ক্লিক করুন

ইনোডাব_ফিল_পিটার_সেবকে সক্ষম করে আপনি আইবডাতা 1 থেকে ডেটা এবং সূচী পৃষ্ঠাগুলি তালাক দিতে পারেন । এটি কোনও নতুন তৈরি InnoDB টেবিলকে কোনও বহিরাগত .ibdফাইলে ডেটা এবং সূচী পৃষ্ঠাগুলি সঞ্চয় করতে বাধ্য করবে ।

উদাহরণ

  • ডেটাডির হ'ল / ভার / লিব / মাইএসকিএল
  • CREATE TABLE mydb.mytable (...) ENGINE=InnoDB;, তৈরি করে /var/lib/mysql/mydb/mytable.frm
    • ইনোডব_ফায়াল_পার_সামগ্রী সক্ষম, ডেটা / সূচী পৃষ্ঠাগুলি সঞ্চিত /var/lib/mysql/mydb/mytable.ibd
    • ইনোডব_ফায়াল_পার_সারণযোগ্য অক্ষম, ডেটা / সূচী পৃষ্ঠাগুলি আইবডাতা 1 তে সঞ্চিত

InnoDB টেবিলটি যেখানে সঞ্চিত আছে তা বিবেচনাধীন নয়, এসিআইডি সম্মতি এবং লেনদেনের বিচ্ছিন্নতা সমর্থন করার জন্য ইনোডিবি'র কার্যকারিতার জন্য টেবিল মেটাডেটা অনুসন্ধান করা এবং এমভিসিসি তথ্য সংরক্ষণ এবং পুনরুদ্ধার করা দরকার ।

এখানে টেবিল ডেটা এবং সূচীগুলি আইবডাতা 1 থেকে পৃথক করার বিষয়ে আমার অতীতের নিবন্ধগুলি রয়েছে

আইব্লগ ফাইল (ওরফে ib_logfile0, ib_logfile1)

আপনি কী ib_logfile0এবং কী কী তা জানতে চাইলে ib_logfile1সেগুলি হ'ল ইনোডিবি রেডো লগ। মাইএসকিএলডের সম্পূর্ণ স্বাভাবিক শাটডাউন না হওয়া পর্যন্ত এগুলি কখনই মুছে ফেলা বা পুনরায় আকার দেওয়া উচিত নয় । যদি মাইএসকিএলডি কখনও ক্র্যাশ হয় তবে কেবল মাইএসকিএলডিটি শুরু করুন। এটি জুড়ে পড়বে ib_logfile0এবং ib_logfile1ডাবল রাইফ বাফার-এ পোস্ট করা হয়নি এমন কোনও ডেটা পরিবর্তনের জন্য পরীক্ষা করবে ibdata1। এটি সেই পরিবর্তনগুলি পুনরায় খেলবে (পুনরায়)। এগুলি পুনরায় প্লে এবং সংরক্ষণ করা হয়ে গেলে, মাইএসকিএলডি নতুন ডিবি সংযোগের জন্য প্রস্তুত হয়ে যায়।


এই লগ ফাইলগুলিতে স্থান কীভাবে বজায় থাকবে ...? আমার জিজ্ঞাসা করার অর্থ ... "নতুন আনোডাব লেনদেনের জন্য যদি একই লগ ফাইলগুলি সম্পূর্ণরূপে পূরণ করা হয় তবে কীভাবে ব্যবহৃত হবে ...."
উদয়

আমার পূর্ববর্তী মন্তব্য আইব_লগ ফাইলগুলি সম্পর্কে ....
উদয়

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

innodb_file_per_table disabled, Data/Index Pages Stored in /var/lib/mysql/mydb/mytable.ibdএবং innodb_file_per_table enbled, Data/Index Pages Stored in ibdata1বিপরীত হওয়া উচিত, তাই না?
রাবুদে

1
@rabudde এটি এখন ঠিক আছে। আবার আপনাকে ধন্যবাদ !!!
রোল্যান্ডোমাইএসকিউএলডিবিএ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.