ডেটা ছাড়াই মাইএসকিউএল রফতানি স্কিমা


490

আমি একটি জাভা প্রোগ্রামের সাথে একটি মাইএসকিএল ডাটাবেস ব্যবহার করছি, এখন আমি প্রোগ্রামটি অন্য কাউকে দিতে চাই।

এর মধ্যে ডেটা ছাড়াই মাইএসকিএল ডাটাবেস স্ট্রাকচার কীভাবে এক্সপোর্ট করবেন?

উত্তর:


960

আপনি --no-datamysqldump কমান্ড দিয়ে বিকল্পটি করতে পারেন

mysqldump -u root -p --no-data dbname > schema.sql

11
IMHO, mysqldumpসেরা উত্তর। মাইএসকিউএল প্রশাসক পরিত্যাজ্য এবং মাইএসকিউএল ওয়ার্কবেঞ্চ এখনও যথেষ্ট বগি।
আলভারো গঞ্জালেজ

49
--single-transactionআপনি যদি টেবিল লকগুলি না চান বা না করতে পারেন তবে বিকল্পটি ব্যবহার করার বিষয়টিও বিবেচনা করুন।
জিম

47
-ডি সংক্ষেপে - কোন তথ্য নেই।
মার্সটোন

36
এছাড়াও --routines যোগ করার বিষয়টি বিবেচনা যদি তুমি ডাটাবেসের পদ্ধতি / ফাংশন সঞ্চিত হয়েছে
crafterm

15
ডিফল্টরূপে, এটি CREATE DATABASEকমান্ড অন্তর্ভুক্ত করে না । অন্তর্ভুক্ত করতে, (শর্টহ্যান্ড :) dbnameদিয়ে প্রতিস্থাপন করুন । তারপর অন্য সার্ভারে আমদানি করতে, ব্যবহার--databases dbname-B dbnamemysql -u root -p < schema.sql
শন

88

হ্যাঁ, আপনি ব্যবহার করতে পারেন mysqldumpসঙ্গে --no-dataবিকল্প:

mysqldump -u user -h localhost --no-data -p database > database.sql

4
আমি অবাক হই যে দশ সেকেন্ড আগে পোস্ট করা সত্ত্বেও এটি গৃহীত উত্তর নয় এবং গৃহীত উত্তরের সাথে অভিন্ন না হলে আরও সম্পূর্ণ হয়ে উঠছে।
ব্যবহারকারী 5532169

1
@ zypA13510, দৃশ্যত দশ সেকেন্ডে 9৪৯ টি আপোভের পার্থক্য হতে পারে।
emallove

17

আপনি --no-dataবিকল্পের সাহায্যে পৃথক টেবিলও বের করতে পারেন

mysqldump -u user -h localhost --no-data -p database tablename > table.sql



4

সতর্ক থাকুন যদিও - কোনও-ডেটা বিকল্পটি ভিউ সংজ্ঞাটি অন্তর্ভুক্ত করবে না। সুতরাং আপনার যদি ভিউ সিলেক্ট করে নীচের মত ভিউ থাকে aidআঃ id, acreated_dateটি 1 created_date থেকে এএস ; - কোন-ডেটা বিকল্পের সাথে, ভিউ সংজ্ঞাটি ভিউ তৈরি করে নিম্নলিখিত 1 এ 1 id, 1 এএস নির্বাচন করে পরিবর্তিত হবেcreated_date


3

আপনি এমওয়াইএসকিউএল প্রশাসক সরঞ্জামটিকে এর বিনামূল্যে http://dev.mysql.com/downloads/gui-tools/5.0.html ব্যবহার করতে পারেন

আপনি আপনার এমওয়াইএসকিউএল ডেটাবেস রফতানি করার জন্য অনেকগুলি বিকল্প পাবেন


2

আপনি যদি ইন্টেলিজ ব্যবহার করছেন তবে আপনি ডাটাবেস ভিউ সক্ষম করতে পারবেন (দেখুন -> সরঞ্জাম উইন্ডো -> ডাটাবেস)

এই ভিউটির ভিতরে আপনার ডাটাবেসের সাথে সংযোগ স্থাপন করুন। তারপরে আপনি ডাটাবেসটি ডান ক্লিক করতে পারেন এবং "অনুলিপি ডিডিএল" নির্বাচন করতে পারেন। অন্যান্য আইডিই একই ধরণের ফাংশন সরবরাহ করতে পারে।

ইন্টেলিজিজ ডিডিএল


2
আমি চেষ্টা করেছিলাম, এতে কোনও ট্রিগার নেই (এবং
whatশ্বর

2

আপনি যদি সমস্ত ডাটাবেস থেকে সমস্ত টেবিল ডাম্প করতে চান এবং কোনও ডেটা ছাড়াই (কেবলমাত্র ডাটাবেস এবং টেবিল স্ট্রাকচার) ব্যবহার করতে পারেন:

mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql

এটি একটি .sql ফাইল তৈরি করবে যা আপনি একটি নতুন ডেটাবেস তৈরি করতে মাইএসকিএল সার্ভারে লোড করতে পারেন। উত্পাদনের পরিবেশে এর জন্য কেসগুলি ব্যবহার করুন না, তবে আমি ডেমো ওয়েবসাইটগুলির সাথে লিঙ্কযুক্ত সার্ভারগুলি পুনরায় সেট করতে সাপ্তাহিক ভিত্তিতে এটি করি, তাই ব্যবহারকারীরা সপ্তাহে যা কিছু করেন না কেন, রবিবার রাতে সমস্ত কিছুই "নতুন" এ ফিরে যায়: )


1

একটি পৃথক টেবিলের তৈরি স্ক্রিপ্ট পেতে:
- সমস্ত টেবিল নির্বাচন করুন (শিফট কী সহ)
- টেবিলের নামের উপরে ডান ক্লিক করুন এবং ক্লিপবোর্ডে অনুলিপি করুন> বিবৃতি তৈরি করুন ক্লিক করুন।


0

শেল> mysqldump - কোন তথ্য --routines --events পরীক্ষা> ডাম্প- defs.sql


1
স্ট্যাকওভারফ্লোতে আপনাকে স্বাগতম। আপনি যদি আরও কিছু তথ্য এবং সীমাবদ্ধতা দেন তবে আপনি এ থেকে দুর্দান্ত উত্তর দিতে পারেন।
জানুহু

0

সঞ্চিত রুটিন এবং ইভেন্টের সংজ্ঞা অন্তর্ভুক্ত করতে --routines এবং --events বিকল্পগুলি যুক্ত করুন

mysqldump -u <user> -p --no-data --routines --events test > dump-defs.sql

-1

আপনি নিম্নলিখিত পদ্ধতি ব্যবহার করে নিতে পারেন

mysqldump -d <database name> > <filename.sql> // -d : without data

আশা করি এটি আপনাকে সহায়তা করবে


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