সর্বশেষ 1000 রেকর্ডগুলির mysqldump


11

কিভাবে একটি ডেটাবেস থেকে সর্বশেষ 1000 রেকর্ডের mysqldump নিতে

উত্তর:


18

mysqldumpএকটি --whereবিকল্প আছে। ধরে নিলাম আপনার সর্বশেষ 1000 টি recordsোকানো রেকর্ডগুলি কী (তা উদাহরণস্বরূপ, একটি স্বয়ংক্রিয়-বৃদ্ধি ক্ষেত্র বলা হয় id) তা নির্ধারণের জন্য কিছু ধরণের টোহোল্ড রয়েছে , আপনার mysqldumpকমান্ডের মধ্যে এমনটি সামলাতে সক্ষম হওয়া উচিত :

mysqldump --where "1=1 ORDER BY id DESC LIMIT 1000" DB_NAME TBL_NAME

1=1কারণ "কোথায়" শব্দ, স্বয়ংক্রিয়ভাবে কোয়েরি ঢোকানো হয় তাই আপনি এটি নির্ণয় করা কিছু এসকিউএল দিতে হবে না প্রয়োজন।

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

স্থান ছাড়ার সময় ত্রুটি:

mysqldump: unknown variable 'where1=1 ORDER BY UserID DESC LIMIT 1000'

আপনার পরামর্শ অনুসারে আমি তা করেছি এবং আমি আপনার উত্তরটিকে উজ্জীবিত করেছি, তবে, সততা সীমাবদ্ধতা লঙ্ঘনের বিষয়ে কী?
লাইকর্না

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

উত্তরটি প্রাথমিকভাবে পোস্ট করার পরে এটি সম্ভবত পরিবর্তন হয়েছে তবে মাইসকিल्डম্প ডক্স এখন বলেছে যে বিকল্পটি হয় হিসাবে নির্দিষ্ট করা উচিত --where="..."বা -w "..."দেখুন dev.mysql.com/doc/refman/5.6/en/…
ম্যাট প্যাসেল

1
পুরো ডাটাবেসটিতে প্রতিটি টেবিলে সর্বশেষ 100 সারিগুলির একটি মাইএসকিএলডাম্প কীভাবে পাবেন?
রকিব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.