मैं टर्मिनल से MySQL के साथ एक डेटाबेस कैसे आयात कर सकता हूं?


373

मैं टर्मिनल से mysql के साथ डेटाबेस कैसे आयात कर सकता हूं?

मुझे सटीक सिंटैक्स नहीं मिल रहा है।

जवाबों:


761

मान लें कि आप लिनक्स या विंडोज कंसोल पर हैं:

पासवर्ड के लिए संकेत दें:

mysql -u <username> -p <databasename> < <filename.sql>

पासवर्ड सीधे दर्ज करें (सुरक्षित नहीं):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

उदाहरण:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

यह सभी देखें:

4.5.1.5। पाठ फ़ाइल से SQL कथन निष्पादित करना


नोट : यदि आप खिड़कियों पर हैं तो आपको cdकमांड को निष्पादित करने से पहले CMD के अंदर अपने MySQL / bin डायरेक्टरी में (डायरेक्टरी को बदलना) करना होगा।


139
+1 को छोड़कर आपको अपना पासवर्ड CLI पैरामीटर के रूप में पास नहीं करना चाहिए। बल्कि केवल -p विकल्प निर्दिष्ट करें और शीघ्रता के बाद इसे मैन्युअल रूप से दर्ज करें।
सेंट। वूलैंड

13
यदि आप इसे शेल द्वारा दर्ज करना चाहते हैं तो -p और पासवर्ड के बीच कोई स्थान नहीं है।
केथ्रीविरेन

8
mysql -u उपयोगकर्ता नाम -h hostname -ppassword databasename <filename.sql टर्मिनल से दूरस्थ होस्ट के लिए
Shaik Rilwan

8
यदि आप पहले से ही mysql कमांड प्रॉम्प्ट (mysql>) के अंदर हैं, तो बस स्रोत full_path_of_file टाइप करें (ध्यान दें: आयात से पहले USE DATABASE_NAME कमांड का चयन करें)।
अंकित शर्मा

3
@Pekka 웃, यदि हम उपयोग करते हैं source, तो हम सूचनात्मक संदेश ( "पंक्तियाँ प्रभावित" ) और त्रुटि संदेश देख सकते हैं । लेकिन आपके समाधान का उपयोग करते हुए, हम संदेशों का उपयोग कैसे देखते हैं < filename.sql?
पचेरियर

141

विंडोज़ के लिए पसंदीदा तरीका:

  1. कंसोल खोलें और इंटरैक्टिव MySQL मोड शुरू करें

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>


2
हमें इसकी आवश्यकता क्यों नहीं है; फ़ाइल नाम के बाद?
नबील खान

6
@NabeelKhan अधिकांश एसक्यूएल बयानों के बयान ;के अंत में आवश्यकता होती है , लेकिन कुछ अपवाद भी हैं, जिनमें शामिल हैं USEऔर SOURCE
साइमन ईस्ट

1
मुझे आश्चर्य है कि अगर यह फ़ाइल को स्वीकार करने की तुलना में तेज़ी से कार्य करता है (जैसे स्वीकृत उत्तर में)। मेरा शक हाँ है
साइमन ईस्ट

यह HeidiSQL के माध्यम से आयात करने की तुलना में बहुत तेज़ है ... 20 मिनट में 3GB!
15

जिज्ञासु। जब मैंने हटा दिया ;तो sourceकमांड को सफलतापूर्वक निष्पादित किया गया था। इससे पहले कि यह नहीं होगा।
निकोस

33

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u - उपयोगकर्ता नाम के लिए

-p - पासवर्ड प्रॉम्प्ट करने के लिए

उदाहरण के लिए। mysql -u root -p mydb < /home/db_backup.sql

आप -p से पहले पासवर्ड भी दे सकते हैं, लेकिन सुरक्षा कारणों से यह सुझाव देने योग्य नहीं है। पासवर्ड नकाब पर ही कमांड पर दिखाई देगा।


2
यह वह उत्तर है जिसकी मुझे तलाश है। "<" यह संकेत है जो मैंने छोड़ा था।
प्रवीणराज वेंकटचलम

अगर mydb मौजूद नहीं है तो जब हम mysqldump कमांड को फायर करते हैं तो इसे गतिशील रूप से कैसे बनाया जाता है?
अक्षय परूएकर

12

सीधे var / www / html से

mysql -u username -p database_name < /path/to/file.sql

Mysql के भीतर से:

mysql> use db_name;
mysql> source backup-file.sql



6

मैं आमतौर पर इस कमांड का उपयोग अपने एसक्यूएल डेटा को लोड करने के लिए करता हूं जब नाम के साथ फाइल में विभाजित किया जाता है: 000-tableA.sql, 001-tableB.sql, 002-tableC.sql।

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done

OSX शेल पर अच्छी तरह से काम करता है।


5

कमांड लाइन से लोड कैसे करें

स्पष्टीकरण:

  1. पहले एक डेटाबेस बनाएं या मौजूदा डेटाबेस का उपयोग करें। मेरे मामले में, मैं एक मौजूदा डेटाबेस का उपयोग कर रहा हूं

  2. <name of database> = ClassicModelsमेरे मामले में दे कर डेटाबेस लोड करें और ऑपरेटर का उपयोग करने के <लिए रास्ता देंdatabase = sakila-data.sql

  3. शो टेबल चलाने से, मुझे टेबल की सूची मिलती है जैसा कि आप देख सकते हैं।

नोट: मेरे मामले में मुझे 1062 त्रुटि मिली , क्योंकि मैं फिर से उसी चीज को लोड करने की कोशिश कर रहा हूं।


5
mysql -u username -ppassword dbname < /path/file-name.sql

उदाहरण

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

इसका उपयोग टर्मिनल से करें


5

नीचे कमांड ubuntu 16.04 पर काम कर रहा है, मुझे यकीन नहीं है कि यह काम कर रहा है या अन्य लिनक्स प्लेटफॉर्म नहीं है।

SQL फ़ाइल निर्यात करें:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

उदाहरण: mysqldump -u root -p max_development> max_development.sql

SQL फ़ाइल आयात करें:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

नोट SQL फ़ाइल में समान निर्देशिका मौजूद होनी चाहिए


5

फिर टर्मिनल खोलें

 mysql -u root -p

 eg:- mysql -u shabeer -p

उसके बाद एक डेटाबेस बनाएँ

 mysql> create database "Name";

 eg:- create database INVESTOR;

फिर उस नए डेटाबेस का चयन करें "INVESTOR"

 mysql> USE INVESTOR;

मशीन से sql फ़ाइल का पथ चुनें

 mysql> source /home/shabeer/Desktop/new_file.sql;

फिर एंटर दबाएं और कुछ समय तक प्रतीक्षा करें यदि यह सब निष्पादित हो जाता है

 mysql> exit

यहां छवि विवरण दर्ज करें


4
  1. MySQL कमांड लाइन क्लाइंट खोलें और अपने पासवर्ड में टाइप करें

  2. उस डेटाबेस में बदलें जिसे आप .sql फ़ाइल डेटा आयात करने के लिए उपयोग करना चाहते हैं। यह लिखकर करें:

    USE your_database_name
  3. अब उस .sql फ़ाइल को खोजें जिसे आप निष्पादित करना चाहते हैं।
    यदि फ़ाइल मुख्य स्थानीय C: ड्राइव निर्देशिका और .sql स्क्रिप्ट फ़ाइल नाम में स्थित है currentSqlTable.sql, तो आप निम्न टाइप करेंगे:

    \. C:\currentSqlTable.sql

    और EnterSQL स्क्रिप्ट फ़ाइल को निष्पादित करने के लिए दबाएँ ।


7
चित्र 1/2/3 क्या है?
21

4

कुछ समय तक संघर्ष करने के बाद मुझे https://tommcfarlin.com/importing-a-large-datasia/ में जानकारी मिली

  1. मैसकल से कनेक्ट करें (उपयोगकर्ता नाम और पासवर्ड दोनों के लिए रूट का उपयोग करें):

    mysql -uroot -proot
  2. डेटाबेस से कनेक्ट करें (मान लें कि इसे खालीडाबेस कहा जाता है (आपको एक पुष्टिकरण संदेश प्राप्त करना चाहिए):

    connect emptyDatabase

3 स्रोत कोड को आयात करें, मान लें कि फ़ाइल को mySource.sql कहा जाता है और यह myUser नामक उपयोगकर्ता के प्रोफ़ाइल के अंतर्गत mySoureDb नामक फ़ोल्डर में है:

source /Users/myUser/mySourceDB/mySource.sql

3

यदि आप mysql वेबसाइट से sakila-db का उपयोग कर रहे हैं , तो यह लिनक्स प्लेटफॉर्म पर बहुत आसान है, बस नीचे दिए गए चरणों का पालन करें। sakila-db की ज़िप फ़ाइल को डाउनलोड करने के बाद , इसे निकालें। अब आपके पास दो फाइलें होंगी , एक है sakila-schema.sql और दूसरी है sakila-data.qql


  1. टर्मिनल खोलें
  2. कमांड mysql -u root -p <sakila-schema.sql दर्ज करें
  3. कमांड mysql -u root -p <sakila-data.sql दर्ज करें
  4. अब कमांड mysql -u root -p दर्ज करें और अपना पासवर्ड दर्ज करें, अब आपने डिफ़ॉल्ट रूप से mysql सिस्टम में प्रवेश किया है डेटाबेस के है।
  5. Sakila डेटाबेस का उपयोग करने के लिए, इस कमांड का उपयोग करें sakila;
  6. साकिला-डीबी में टेबल देखने के लिए, शो टेबल कमांड का उपयोग करें

कृपया ध्यान रखें कि निकाले गए फाइलें होम डायरेक्टरी में मौजूद हैं


2

उबंटू में, MySQL मॉनिटर से , आप पहले ही इस सिंटैक्स का उपयोग कर चुके हैं:

mysql> use <dbname> -> USE स्टेटमेंट MySQL को dbnameबाद के स्टेटमेंट के लिए डिफ़ॉल्ट डेटाबेस के रूप में उपयोग करने के लिए कहता है

mysql> source <file-path>

उदाहरण के लिए :

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

महत्वपूर्ण : सुनिश्चित करें कि एसक्यूएल फ़ाइल एक निर्देशिका में है mysql कि उपयोग कर सकते हैं पसंद करने के लिए / tmp


1

टर्मिनल पर कमांड चलाने से पहले आपको यह सुनिश्चित करना होगा कि आपके टर्मिनल पर MySQL स्थापित है।

इसे स्थापित करने के लिए आप निम्न कमांड का उपयोग कर सकते हैं:

sudo apt-get update
sudo apt-get install mysql-server

यहां पर रिफरेन्स ।

उसके बाद आप डेटाबेस को आयात करने के लिए निम्न कमांड का उपयोग कर सकते हैं:

mysql -u <username> -p <databasename> < <filename.sql>

1

टर्मिनल से अपने MYSQL में डेटाबेस आयात करने का सबसे सरल तरीका नीचे दी गई प्रक्रिया द्वारा किया जाता है -

mysql -u root -p root database_name < path to your .sql file

मैं ऊपर क्या कर रहा हूँ:

  1. मेरे उपयोगकर्ता नाम और पासवर्ड के साथ mysql में प्रवेश करना (यहाँ यह है root&root )
  2. पासवर्ड दर्ज करने के बाद मैं डेटाबेस का नाम दे रहा हूं जहां मैं अपनी .sql फ़ाइल आयात करना चाहता हूं। कृपया सुनिश्चित करें कि डेटाबेस आपके MYSQL में पहले से मौजूद है
  3. डेटाबेस का नाम इसके बाद है < और फिर आपकी .sql फ़ाइल में जाता है। उदाहरण के लिए, यदि मेरी फ़ाइल डेस्कटॉप में संग्रहीत है, तो पथ होगा/home/Desktop/db.sql

बस। एक बार जब आप यह सब कर लेते हैं, तो प्रवेश करें और संबंधित डेटाबेस पर अपलोड होने के लिए अपनी .sql फ़ाइल की प्रतीक्षा करें


0

-P और पासवर्ड के बीच कोई स्थान नहीं होना चाहिए

mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql

मैं हमेशा इसका उपयोग करता हूं, यह पूरी तरह से काम करता है। यह सवाल पूछने के लिए धन्यवाद। आपका दिन अच्छा रहे। नोज :)


हम इस सेटिंग्स को क्रोन जॉब (शेड्यूल टास्क) में भी साझा कर सकते हैं, डेडिकेटेड और क्लाउड सर्वर को डेटाबेस टाइम को अपने आप रिसेट या इंपोर्ट करने के लिए।
कमलेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.