সমস্ত মাইএসকিউএল ইনোডিবি টেবিলগুলি খণ্ডিত কেন?


10

কোনও কারণে, আমার মাইএসকিউএল সার্ভারে থাকা সমস্ত ইনোডিবি টেবিলগুলিকে খণ্ডিত হিসাবে তালিকাভুক্ত করা হচ্ছে যখন আমি মাইএসকিএলটিউনার চালনা করি। আমি কয়েক ঘন্টা আগে সার্ভারটি ইনস্টল করেছি (ওএসএক্স সিংহটিতে), এবং এতে ব্যাচ ফাইলগুলি থেকে আমদানি করা একগুণ তাজা তথ্য রয়েছে।

আমি একটি ডাটাবেসে সমস্ত টেবিলকে মাইআইএসএএম-তে রূপান্তরিত করার চেষ্টা করেছি এবং নিশ্চিত যে খণ্ডিত টেবিলগুলির সংখ্যা হ্রাস পেয়েছে। আশ্চর্যের বিষয় হল, এই টেবিলগুলিকে আমি InnoDB এ আবার রূপান্তরিত করার সাথে সাথে খণ্ডিত টেবিলের গণনাটি আবার শট আপ করলাম। এটি এখন পর্যন্ত আমার গবেষণার বিপরীতে যা প্রস্তাব দেয় যে দৌড়ানোর ALTER TABLE table_name ENGINE=INNODB;ফলে খণ্ডগুলি স্থির করা উচিত।

কিছুটা গুগলিংয়ের পরে আমি দৌড়েছি:

SELECT table_schema, table_name, data_free/1024/1024 AS data_free_MB 
FROM information_schema.tables
WHERE engine LIKE 'InnoDB' AND data_free > 0

যা অনুমানযোগ্যভাবে সমস্ত খণ্ডিত টেবিলগুলি তালিকাভুক্ত করে (এটি প্রকৃতপক্ষে খণ্ডিত টেবিল গণনার জন্য মাইসকিউ্লটুনার আউটপুট হিসাবে একই সংখ্যার ফলাফল দেয়)। প্রতিটি একক প্রবেশের data_free_MBকলামে ঠিক একই সংখ্যা রয়েছে (বর্তমানে 7.00000000)।

এটি কি আসলেই আসল সমস্যা বা মাইস্ক্ল্টনটার কিছু ভুল করছে? যদি সমস্যা হয় তবে আমি কীভাবে এটি ঠিক করব?

সম্পাদনা

আমি আরও সন্দেহজনক হয়ে উঠছি যে আমি একজন নির্বোধ এবং that এমবি বিভাজন পুরো ফাইলের জন্য, প্রতিটি টেবিলের জন্য নয়। কেউ যদি তা নিশ্চিত করতে পারে তবে তা ঘটবে?


আপনি কি সত্যিই মনে করেন যে 7 ফ্রি এমবি কোনও সমস্যা?
ডেভিড শোয়ার্টজ

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

একটি পতাকাটিতে ব্যবহারকারীর অনুরোধ অনুযায়ী এই প্রশ্নটি স্থানান্তর করা।
ড্যানিয়েল বেক

মাইসকি্লটুনার শোগুলির বেশিরভাগ বিবরণ কেবল তথ্যের জন্য। সবকিছুই সমস্যা নয়। এটি যদি সমস্যা হয় তবে এটি পরিষ্কারভাবে বলে দেবে। এটি কি কোনও সমস্যা হিসাবে চিহ্নিত হয়েছিল?
জন গার্ডেনিয়ার্স 15'12

@ জোহানগার্ডিনিয়ার্স আমি এটি বিশ্বাস করি, বার্তাটি হ'ল: [!!] Total fragmented tables: 2314যা আমি নিশ্চিতভাবেই একটি সমস্যা নির্দেশ করে (ডাবল লাল উদ্বোধনের চিহ্ন সহ)
ক্লাইভ

উত্তর:


5

উপরের আমার মতামত অনুসারে, স্ক্লুটুনার থেকে সমস্ত আউটপুট ত্রুটিগুলি নির্দেশ করে না। স্ক্রিপ্টটি খুব স্পষ্টভাবে না জানায় যে এটি পরবর্তী সমস্যাটিতে সাধারণত সমস্যা সমাধানের জন্য পরামর্শের পরে, তবে এটি কেবল একটি তথ্যগত আইটেম।


3

যখন আপনি ইনোডবি_ফিল_পিটার_ট্যাবল সক্ষম করেছেন , তখন আপনার সমস্ত কাজটি কোনও বহিরাগত .ibdফাইলে কোনও নতুন ইনোডিবি টেবিল তৈরি করার জন্য একটি প্রোটোকল সেটআপ করেছিল । এর আগে আপনার তৈরি করা সমস্ত InnoDB টেবিলগুলি এখনও ইবদাটা 1 এ এম্বেড করা আছে।

ইনোডোবি_ফায়াল_পার_সামগ্রী অক্ষম করা, যে কোনও সময় আপনি চালান

ALTER TABLE table_name ENGINE=INNODB;

এটি কেবলমাত্র টেবিলের ডেটা এবং সূচী পৃষ্ঠাগুলিকে ইবদাটা 1 এ যুক্ত করে। এটি টেবিলটিকে সামঞ্জস্যপূর্ণ পৃষ্ঠাগুলিতে উপস্থিত করবে এবং টুকরো টুকরো টুকরো টুকরো করে ফেলবে, অবক্ষয়টি হ'ল ইবদাটা 1 দ্রুত বৃদ্ধি পায়।

সুপারিশ

আপনাকে সমস্ত ডেটা রফতানি করতে হবে, ibdata1, ib_logfile0, ib_logfile1 মুছে ফেলতে হবে এবং পুনরায় লোড করতে হবে।

কিভাবে এবং কেন এটি করতে হবে তা লিখেছিলাম

আপডেট 2012-08-15 12:05 ইডিটি

আপনি নিজেই mysqltuner.pl স্ক্রিপ্টটি দেখতে চাইতে পারেন। আইএমএইচওও আমার মনে হয় এটি খণ্ডগুলি পরিমাপের জন্য একটি পুরানো সূত্র ব্যবহার করছে। নিশ্চিত করুন যে আপনার কাছে মাইএসকিউটিউনারের সর্বশেষতম সংস্করণ রয়েছে।

বাহ্যিকভাবে সঞ্চিত InnoDB টেবিলগুলির খণ্ডন পরিমাপের জন্য, আমি এ সম্পর্কে 11 এপ্রিল, 2012 তে একটি পোস্ট লিখেছিলাম (১৯ এপ্রিল, ২০১২ এর নীচে আপডেটটি দেখুন)


1
আহ্ ঠিক আছে, জিনিস এখন অনেক বেশি অর্থবোধ করে, ধন্যবাদ। আমি ডেটা রফতানি শেষ করেছি, মাইএসকিউএল পুরোপুরি মুছে ফেলেছি, তারপরে পুনরায় ইনস্টল করছি (তবে innodb_file_per_tableসার্ভারটি শুরু করার আগে এবং কনফার্ম ফাইলটিতে পুনরায় আমদানি করার আগে) conf এর আগে আমি সমস্ত ধরণের ইনোডিবি ত্রুটিগুলি পেয়েছিলাম (সত্যিই খারাপ ধরণের ... যার অর্থ আমাকে innodb_force_recoveryকেবল তথ্য বের করার জন্য 6 স্তরের সাথে চালাতে হয়েছিল!) এবং সমস্ত ধরণের লগ ফাইলের তারিখ রয়েছে ভবিষ্যৎ!' ত্রুটি। এগুলি এখন বন্ধ হয়ে গেছে বলে মনে হচ্ছে তবে আমি এখনও বেশ কয়েকটি টুকরো টেবিল পেয়েছি। আমি কেবল এটির দিকে নজর রাখব, ইনপুটটির জন্য আবার ধন্যবাদ
ক্লাইভ

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