MySQL में .sql फ़ाइल कैसे आयात करें?


39

मैं MySQL कार्यक्षेत्र का उपयोग करके .sql फ़ाइल आयात करने का प्रयास कर रहा हूं और मुझे यह त्रुटि मिली:

ERROR 1046 (3D000) at line 28: No database selected

मैंने पहली बार एक खाली डेटाबेस बनाया है जिसे .sql फ़ाइल के समान नाम दिया गया है लेकिन यह काम नहीं करता है। मैंने भी mysql कमांड क्लाइंट के साथ इसे करने की कोशिश की है:

mysqldump -u root database > file.sql 

लेकिन यह कहता है कि मेरे SQL सिंटैक्स में कोई त्रुटि है। इसके अलावा, मुझे उस रास्ते का पता नहीं है जहाँ मुझे file.sql सेट करना है।


मैं नीचे mysql> mydatabase का उपयोग करके mysqldump आयात करने में सक्षम था; mysql> source sql_file.sql;
गिरिधर वेणुगोपाल

जवाबों:


49

निर्यात:

mysqldump -u username –-password=your_password database_name > file.sql

आयात:

mysql -u username –-password=your_password database_name < file.sql 

9
-ppassword
tombom

अगर मेरे पास पासवर्ड नहीं है तो क्या होगा?

फिर पासवर्ड पैरामीटर छोड़ें।
काजीमीरास एल्युलिस

पाइपिंग ( mysqldump db -uuser -ppass|mysql new_db -uuser -ppass) एक मध्यवर्ती फ़ाइल का उपयोग करने की आवश्यकता को हटाता है।
पेसियर

2
मुझे लगता है कि काम करने के लिए डेटाबेस को MySQL में मौजूद होना चाहिए।
नौमेनन

28

आप डेटाबेस तरीके से पहले से जुड़े उपयोगकर्ता के रूप में .sql फ़ाइल आयात कर सकते हैं:

mysql> use your_database_name;

mysql> source file.sql;

3
source D: /path/file.sql; शानदार काम करता है! बैक स्लैश के बजाय सामने वाले स्लैश को याद रखें।
इमदाद

6

source <filename>काम नहीं करने पर डंप फ़ाइलों को आयात करने का दूसरा तरीका निम्नलिखित है:

ढेर

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

आयात

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql

5

juergen d का उत्तर निश्चित रूप से सही है; हालाँकि, आपके त्रुटि संदेश को देखते हुए, आप अपनी SQL फ़ाइल को शुरुआत की पंक्ति में भी जोड़ सकते हैं जैसे:

USE your_database_name;

यह भी काम करना चाहिए और आपको कार्यक्षेत्र के तहत आयात करने देना चाहिए।

जब आप उपयोग कर रहे हैं mysqldump, तो निर्यात की गई फ़ाइल वर्तमान फ़ोल्डर में सहेजी जाएगी। इससे कोई फर्क नहीं पड़ता कि यह किस रास्ते पर है। बस कमांड लाइन से आयात करते समय आपको एक ही फ़ोल्डर में होना चाहिए या फ़ाइल के लिए पथ निर्दिष्ट करना होगा। लेकिन यह तब नहीं होता है जब आप विज़न टूल का उपयोग कर रहे होते हैं जैसे वर्कबेंच, जहाँ आपको किसी भी तरह से फ़ोल्डर ट्री से फाइल चुनने की आवश्यकता होती है।


2

आपको कमांड में पासवर्ड याद आ रहा है। निम्न का उपयोग करें।

mysql --u [username] --password=[password] [database name] < [dump file]

1

Windows के लिए, MySQL सर्वर इंस्टॉलेशन डायरेक्टरी (उदा C:\Program Files\MySQL\MySQL Server 5.5) में, सर्वर सेक्शन के my.ini fileअंतर्गत निम्न लाइन जोड़ें [mysqld]:

max_allowed_packet = 16M

और परिवर्तनों को बचाएं। (यदि आपको सहेजने की अनुमति नहीं है, तो डेस्कटॉप पर कॉपी और पेस्ट करें और फिर से संपादित करें, फिर उसी स्थान पर पेस्ट करें।)

उसके बाद, अपने MySQL सर्वर को पुनरारंभ करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.