मैं जावा प्रोग्राम के साथ MySql डेटाबेस का उपयोग कर रहा हूं, अब मैं प्रोग्राम को किसी और को देना चाहता हूं।
इसमें डेटा के बिना MySql डेटाबेस संरचना का निर्यात कैसे करें, बस संरचना?
मैं जावा प्रोग्राम के साथ MySql डेटाबेस का उपयोग कर रहा हूं, अब मैं प्रोग्राम को किसी और को देना चाहता हूं।
इसमें डेटा के बिना MySql डेटाबेस संरचना का निर्यात कैसे करें, बस संरचना?
जवाबों:
आप --no-data
mysqldump कमांड के साथ विकल्प के साथ कर सकते हैं
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
विकल्प का उपयोग करने पर भी विचार करें यदि आप नहीं चाहते हैं या टेबल लॉक नहीं कर सकते हैं।
CREATE DATABASE
कमांड शामिल नहीं है । शामिल करने के लिए, (शॉर्टहैंड:) के dbname
साथ बदलें । फिर दूसरे सर्वर पर आयात करने के लिए, उपयोग करें--databases dbname
-B dbname
mysql -u root -p < schema.sql
हां, आप विकल्प के mysqldump
साथ उपयोग कर सकते हैं --no-data
:
mysqldump -u user -h localhost --no-data -p database > database.sql
आप --no-data
विकल्प के साथ एक व्यक्तिगत तालिका भी निकाल सकते हैं
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
आप mysqldump कमांड के साथ -d विकल्प का उपयोग कर सकते हैं
mysqldump -u root -p -d databasename > database.sql
हालांकि इससे सावधान रहें - कि-डेटा विकल्प में दृश्य परिभाषा शामिल नहीं होगी। तो अगर यो एक दृश्य की तरह निम्नलिखित दृश्य v1 का चयन करें a
। id
के रूप में id
,
a
।
टी 1 से created_date
एएस created_date
; --no-data ऑप्शन के साथ, व्यू डेफिनिशन बदलकर निम्नलिखित व्यू v1 को चुनकर 1 AS id
, 1 AS हो जाएगाcreated_date
आप MYSQL एडमिनिस्ट्रेटर टूल का उपयोग इसके निशुल्क http://dev.mysql.com/downloads/gui-tools/5.0.html कर सकते हैं
आपको उर MYSQL DataBase को एक्सपोर्ट करने के कई विकल्प मिलेंगे
यदि आप IntelliJ का उपयोग कर रहे हैं, तो आप डेटाबेस दृश्य (दृश्य -> उपकरण विंडो -> डेटाबेस) को सक्षम कर सकते हैं
उस दृश्य के अंदर अपने डेटाबेस से कनेक्ट करें। तब आप डेटाबेस को राइट क्लिक कर सकते हैं और "कॉपी डीडीएल" का चयन कर सकते हैं। अन्य आईडीई एक समान कार्य प्रदान कर सकते हैं।
यदि आप सभी डेटाबेसों से और बिना किसी डेटा (केवल डेटाबेस और टेबल संरचनाओं) के साथ सभी तालिकाओं को डंप करना चाहते हैं, तो आप उपयोग कर सकते हैं:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
यह एक .sql फ़ाइल का उत्पादन करेगा जिसे आप एक नए डेटाबेस को बनाने के लिए mysql सर्वर पर लोड कर सकते हैं। इसके लिए उपयोग के मामले एक उत्पादन वातावरण में कई नहीं हैं, लेकिन मैं ऐसा साप्ताहिक आधार पर सर्वरों को रीसेट करने के लिए करता हूं, जो डेमो वेबसाइटों से जुड़े होते हैं, इसलिए उपयोगकर्ता सप्ताह के दौरान जो कुछ भी करते हैं, रविवार की रात को सब कुछ "नया" वापस आ जाता है: )
खोल> mysqldump --no-data --routines --events test> डंप-डिसेक्कल
mysqldump
सबसे अच्छा जवाब है। MySQL प्रशासक को छोड़ दिया गया है और MySQL कार्यक्षेत्र अभी भी काफी छोटी है।