mysqldump ডেটা শুধুমাত্র


296

আমি আমার মাইএসকিএল ডাটাবেসে সমস্ত ডেটা ডাম্প করার জন্য সিনট্যাক্সটি সন্ধান করছি। আমি কোনও টেবিলের তথ্য চাই না।


উত্তর:


551
mysqldump --no-create-info ...

এছাড়াও আপনি ব্যবহার করতে পারেন:

  • --skip-triggers: আপনি যদি ট্রিগার ব্যবহার করছেন
  • --no-create-db: আপনি যদি --databases ...বিকল্প ব্যবহার করছেন
  • --compact: আপনি অতিরিক্ত মন্তব্য পরিত্রাণ পেতে চান

47
এখানে অনুলিপি পাস্টারদের পুরো সেন্টিমিডি রয়েছেmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
ইজমির রামিরেজ

2
যদি আপনি পান তবে Access denied for user ... to database '...' when doing LOCK TABLESব্যবহার করুন--single-transaction
রল্ফ

@ ইজমিরামিরেজ ধন্যবাদ তবে উইন্ডোতে এফওয়াইআই আমাকে এর জন্য ডাবল-কোট ব্যবহার করতে হয়েছিল --where। উদাহরণস্বরূপ,--where="id=2"
কিপ

এটি আমার জন্য একটি উজ্জ্বল সেভার ছিল। ধন্যবাদ।
কেন ইঙ্গ্রাম

149

এই কাজ করা উচিত:

# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql

# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql

# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql

দ্রষ্টব্য:-p & এর মধ্যে কোনও স্থান নেই[pass]


12
--no-create-dbব্যবহার করার সময় অপ্রয়োজনীয়--no-create-info
জেমস ম্যাকমাহন

4
এর পরে একটি জায়গা -pঠিক আছে
আপনাকে ধন্যবাদ

12
পাসওয়ার্ড সরবরাহ না করে কেবল -p ব্যবহার করা ভাল, যাতে পাসওয়ার্ডটি আপনার ব্যাশ ইতিহাসে সংরক্ষণ না করে (আপনি কমান্ডটি চালানোর পরে আপনাকে পাসওয়ার্ড দেওয়ার জন্য অনুরোধ করা হবে)।
ড্যান

2
@ ড্যানের পরামর্শ ছাড়াও, এটি যে কোনও ব্যবহারকারীর কাছে বর্তমান প্রক্রিয়াগুলি ( ps -ef) তালিকাভুক্ত করতে পারে এমন পাসওয়ার্ডটি দৃশ্যমান করে তোলে
টিএমজি

1
-pবিকল্পের পরে পাসওয়ার্ড রেখে পাসওয়ার্ড mysqldumpপ্রম্পট করে।
Melle

22
 >> man -k  mysqldump [enter in the terminal]

আপনি নীচের ব্যাখ্যা পাবেন

- না-তৈরি তথ্য, -t

ক্রেট টেবিল বিবৃতি লিখবেন না যা প্রতিটি ডাম্প টেবিলটি পুনরায় তৈরি করে। দ্রষ্টব্য এই বিকল্পটি লগ ফাইল গ্রুপ বা টেবিল স্পেসগুলি mysqldump আউটপুট থেকে বিবৃতি তৈরি করে না; তবে, আপনি এই উদ্দেশ্যে --no-tablespaces বিকল্পটি ব্যবহার করতে পারেন।

- কোন তথ্য, -ডি

কোনও টেবিল সারির তথ্য লিখবেন না (এটি, টেবিলের বিষয়বস্তু ডাম্প করবেন না)। আপনি যদি টেবিলের জন্য কেবল তৈরি টেবিল বিবৃতিটি ডাম্প করতে চান তবে এটি দরকারী (উদাহরণস্বরূপ, ডাম্প ফাইলটি লোড করে টেবিলের খালি অনুলিপি তৈরি করতে)।

# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql

# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql

3
'-t' এবং '-d' বিকল্পটি দ্বিগুণ ব্যবহার করার কোনও কারণ আছে কি?
erwan

19

আপনি যদি কেবল সন্নিবেশ সংক্রান্ত প্রশ্নাগুলি চান তবে নিম্নলিখিতটি ব্যবহার করুন:

mysqldump --skip-triggers --compact --no-create-info


--compactঅতিরিক্ত মন্তব্যের বিবৃতি থেকে মুক্তি পাওয়ার জন্য আপনাকে ধন্যবাদ
চিলনিট

2

নিম্নলিখিত স্নিপেট ব্যবহার করার পরামর্শ দিতে হবে। এমনকি বিশাল টেবিলগুলি দিয়েও দুর্দান্ত কাজ করে (অন্যথায় আপনি সম্পাদকের মধ্যে ডাম্প খুলতে এবং অনির্বাণিত স্ট্রিপগুলি সরিয়ে ফেলবেন, তাই না?))

mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql

কমপক্ষে mysql 5.x প্রয়োজন, তবে আজকাল কে পুরানো জিনিস চালায় .. :)


আমি সম্প্রতি এমন পরিস্থিতিতে পড়েছিলাম, যেখানে এমন একটি সিস্টেমের সাথে সংযোগ স্থাপন করতে হয়েছিল যা উত্পাদনে 4.x ব্যবহার করে। তাদের টেবিল এবং কলামের নামগুলিতে ফাঁকা জায়গা ছিল এবং আমার মতে, তারা মূলত সমস্ত কিছু ভুল করছে।
এলকভিস


0

একটি সীমাবদ্ধ ফাইলে ফেলে দেওয়ার চেষ্টা করুন।

mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,

0

গৃহীত উত্তরটি ব্যবহার করে ডেটা রফতানি করার চেষ্টা করার সময় আমি একটি ত্রুটি পেয়েছি:

ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'

উপরে উল্লিখিত:

mysqldump --no-create-info

ডেটা রফতানি করবে তবে এটি তৈরি ট্রিগার বিবৃতিও রফতানি করবে। যদি আমার মত আপনার আউটপুটিং ডাটাবেস কাঠামো (যার মধ্যে ট্রিগারগুলিও অন্তর্ভুক্ত থাকে) এবং তারপরে উপরের কমান্ডটি ডেটা পেতে আপনার ব্যবহার করা উচিত -'স্কিপ-ট্রিগার '।

সুতরাং আপনি যদি তথ্যটি চান তবে:

mysqldump --no-create-info --skip-triggers
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.