মাইএসকিউএল-এর ইনোডিবি ইঞ্জিন কীভাবে তার মূল ডেটা স্টোরেজ ফাইল আপডেট করে?


0

লিনাক্সের ব্যাক ইন টাইম ব্যাকআপ ইউটিলিটি পরীক্ষা করার সময় এটি আমার নজরে এসেছে যে মারিয়াডিবি আসলে কীভাবে ডেটা সংরক্ষণ করে তা আমি বুঝতে পারি না।

কোনও টেবিলটিতে বোগাস রেকর্ড যুক্ত করার পরে এবং পরবর্তী স্ন্যাপশট না হওয়া পর্যন্ত রেখে যাওয়ার পরে আমি অবাক হয়ে গিয়েছিলাম যে পুরানো স্ন্যাপশটটি পুনরুদ্ধার করা (বোগাস রেকর্ড যুক্ত হওয়ার আগে নেওয়া) ফলস্বরূপ বোগাস রেকর্ডটি সরানো হয়নি।

আমি আরও দু'বার চেষ্টা করেছিলাম: বোগাস নতুন রেকর্ড যুক্ত হয়েছে, স্ন্যাপশট ঘটে (স্বয়ংক্রিয়ভাবে, কারণ আমি ব্যাক ইন টাইম করতে যা বললাম) ... এবং পুনরুদ্ধার করা আমার প্রত্যাশা মতো করে না।

মূল ডিরেক্টরিতে (যেখানে সমস্ত ডেটাবেস সাব-ডাইরেক্টরি রয়েছে) প্রকৃত "পরিবর্তিত" ফাইলগুলির দিকে তাকালে আমি দেখতে পেলাম যে কেবল দুটি ফাইলই বদলেছে বলে মনে হচ্ছে: ib_logfile0এবং ib_logfile1। আমার ব্যাক ইন টাইম জবটি কনফিগার করার সময় আমি ইচ্ছাকৃতভাবে এগুলি কনফিগারেশনটি থেকে বাদ দিয়েছি কারণ আমি ধরে নিয়েছিলাম যে তারা "কেবল লগস"। স্পষ্টভাবে নয়।

আমার তাত্ক্ষণিক সমস্যা সমাধানের জন্য এটি উপস্থিত হ'ল এটি কেবলমাত্র আমার স্ন্যাপশটগুলিতে এই দুটি ফাইল অন্তর্ভুক্ত করা উচিত। কিন্তু কীভাবে বা কোন প্রক্রিয়া দ্বারা ibdata1নতুন তথ্য দিয়ে আপডেট হয়? এটি সম্ভবত যখন মাইএসকিউএল পরিষেবাটি বন্ধ হয়ে যায়? নাকি শুরু?

সবচেয়ে অদ্ভুত বিষয়টি হ'ল আমি এই বিষয়ে খুব বেশি তথ্য খুঁজে পাই না।


এই সমস্যাটি মাইএসকিউএল সম্পর্কে ততটা নয়, যতটা ইনোডিবি স্টোরেজ ইঞ্জিন দ্বারা ব্যবহৃত পদ্ধতিগুলি সম্পর্কে। আমার জানা মতে করার আপনি এমনকি কপি করতে হবে না ibdata1, ib_logfile0এবং ib_logfile1ফাইল। কেবল মাইএসকিউএল বন্ধ করুন, সেই ফাইলগুলি মুছুন এবং মাইএসকিউএল পুনরায় আরম্ভ করবেন যখন আপনি এটি পুনরায় চালু করবেন।
জ্যাকগল্ড 21

ধন্যবাদ ... এটি একটি সহায়ক ক্লু ইনোডিবি-নির্দিষ্ট, ঠিক আছে। বন্ধ এবং মুছুন, ঠিক আছে। তবে একটি ডাটাবেসে কাজ করার সময় স্ন্যাপশ্যাটিংয়ের অবিচ্ছিন্ন প্রক্রিয়াটির জন্য অবশ্যই আলাদা আলাদা সংস্করণগুলির স্ন্যাপশট রাখতে হবে ib_logfile0/1... আপনি বোঝাচ্ছেন যে মাইএসকিউএলটি ibdata1বন্ধ হয়ে যাওয়ার সাথে সাথে আপডেট হয় ... তবে নৃশংসতার ক্ষেত্রে কী ঘটে? একটি মেশিনের পাওয়ার অফ? স্পষ্টতই আমি উত্তরগুলি খুঁজতে চেষ্টা করার জন্য নিজেই পরীক্ষা-নিরীক্ষা করতে পারি ...
মাইক রডেন্ট

সংশোধন: ibdata1প্রয়োজন। ib_logfile0এবং ib_logfile1না।
জেকগল্ড

মাইক - মাইএসকিউএল ইনোডিবি ইঞ্জিনের সাথে আমি কোন কনফিগারেশনটি পছন্দ করি তা ফাইল-প্রতি-সারণী টেবিলস্পেসগুলি হ'ল .... আপনি এটি ব্যবহার শুরু করার পরে আরও অনেক নমনীয়তা। এটি আক্ষরিক অর্থে একটি টেবিল কনফিগারেশন ফাইল .... ক্রেজি !!!
পিম্প জুস আইটি

উত্তর:


0

আপনি ব্যাক টু ব্যাক ডাটাবেস-এর মতো জেনেরিক ব্যাকআপ ইউটিলিটি ব্যবহার করতে পারবেন না।

যেমন আপনি আবিষ্কার করেছেন আপনার কার্যক্ষম ব্যাকআপের জন্য ডাটাবেস ফাইলগুলির একটি নিয়মিত স্ন্যাপশট প্রয়োজন। এটি ছাড়া আপনি এমন কিছু দিয়ে শেষ করবেন যা সঠিক নয় বা শুরু করতে ব্যর্থ। সমস্যাটি হ'ল তার ib_logfile*চেয়ে অস্থায়ীভাবে স্টোরগুলি টেবিল স্পেসগুলিতে স্থানান্তরিত হয়। আপনি কেবল এগুলি মুছে ফেলতে পারবেন যদি আপনি পরিষ্কারভাবে শাটডাউন করেন (যা আরও বেশি সিস্টেমেটেল স্টপ মাইএসকিএলডি হয়) যা আপনি ব্যাকআপটি করার সময় স্পষ্টতই ঘটেনি।

সংক্ষেপে মাইএসকিউএল এর জন্য, মাইএসকিউএল (মাইএসকিএলডাম্প, মাইডাম্পার, xtrabackup), বা একটি ধারাবাহিক স্ন্যাপশট সরঞ্জাম (llvm স্ন্যাপশটস বা একটি ফাইল সিস্টেম ভিত্তিক ধারাবাহিক স্ন্যাপশট কার্যকারিতা) বা একটি প্রতিলিপি পূর্ববর্তী পদ্ধতিগুলির মধ্যে একটি সম্পর্কিত একটি ব্যাকআপ প্রোগ্রাম ব্যবহার করুন।

মাইএসকিউএল এর বাইরে থেকে মাইএসকিউএল ডেটা ফাইলের সাথে মেসিংয়ের ফলাফল কেবলমাত্র ডেটালেস। এটা করবেন না।


ধন্যবাদ ... যেহেতু আমি বুঝতে শুরু করছি: কৃমি একটি সম্পূর্ণ ক্যান। যখন MySQL dbases সহ একটি মেশিন একটি নৃশংস বিদ্যুৎ বন্ধ পায়, উদাহরণস্বরূপ, উইল ব্যবহারকারীর ক্রিয়াকলাপের সাথে কিছুই করার নেই? আমি নিশ্চিত যে এখানে উত্তর আছে এবং অবশ্যই আমাকে আবার চেষ্টা করার চেষ্টা করতে হবে। আমি অবশ্যই এই "ধারাবাহিক স্ন্যাপশট সরঞ্জামগুলি" অনুসন্ধান করার চেষ্টা করব আপনার মনে হয় এমন কোনও দরকারী লিঙ্ক নেই? বা আপনি ব্যক্তিগতভাবে যে প্রোটোকল ব্যবহার করেন সে সম্পর্কে ইঙ্গিত?
মাইক রডেন্ট

মাইএসকিউএল, অন্যান্য ডাটাবেসের মতো এসিডি নীতিগুলি গ্রহণ করে, সবচেয়ে বেশি স্থায়িত্ব। পাশবিক শক্তি টাইম স্ন্যাপশটের এক বিন্দুর রূপ। পর্যাপ্ত রাজ্য গ্রহণ করা হয়েছে তাই প্রতিটি লেনদেন যা সফল হিসাবে ব্যবহারকারীকে ফেরত দিয়েছিল যখন পরিষেবা পুনরায় চালু হবে তখন পুনরায় খেলতে / প্রয়োগ করার জন্য ইনডোডব লগ ফাইলগুলিতে উপস্থিত থাকবে। প্রক্রিয়াজাত লেনদেনের পূর্বাবস্থায় ফিরে যাওয়া ফিরে আসে। lvm স্ন্যাপশট ব্যবহার করা যেতে পারে (আমি টাইপ করার সাথে সাথে এলএলভিএম নয়), মাইএসকিএলডাম্পের একটি - একসেসেল-লেনদেন, ডাটাবেস আকার, আইও ব্যান্ডউইথ, গ্রহণযোগ্য পুনরুদ্ধারের সময় সমস্ত অংশ রয়েছে যেখানে মেকানিজম (গুলি) ব্যবহৃত হয়। আমি একটি নতুন প্রশ্ন প্রস্তাব করছি :-)
ড্যানব্ল্যাক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.