MySQL कमांड प्रॉम्प्ट से कैसे बाहर निकलें?


37

मैंने MySQL स्थापित किया है। अब मैं MySQL कमांड प्रॉम्प्ट के अंदर फंस गया हूं। मैंने MySQL को इस तरह चलाया:

C:\>mysql.exe
mysql>

फिर मैं इस तरह से कुछ अमान्य कमांड टाइप करता हूं:

mysql> /version
    ->

और कोई फर्क नहीं पड़ता कि मैं क्या टाइप करता हूं, मैं MySQL कमांड-लाइन / टर्मिनल से बाहर नहीं जा सकता। उदाहरण के लिए:

  • exit

  • CtrlC

  • CtrlD

  • quit

  • Ctrl\

  • CtrlZ

  • bye

मैं डिफ़ॉल्ट टर्मिनल पर MySQL टर्मिनल से कैसे बाहर निकलूं?


1
क्या आपने अपना कंप्यूटर बंद करने की कोशिश की? / s
वरुणअगव

जवाबों:


29

दूसरे उत्तर में जोड़ने के लिए, आप केवल अर्धविराम का उपयोग करके वर्तमान अमान्य क्वेरी को समाप्त कर सकते हैं:

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

या \G(जो पंक्तियों को लंबवत प्रदर्शित करना चाहिए)

mysql> /version
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax.........
mysql> exit
Bye

c:\mysql\bin>

बेशक, दोनों विकल्प मानते हैं कि आपके पास कोई उद्घाटन उद्धरण नहीं है। यदि आप करते हैं, तो आपको पहले इसे एक समापन उद्धरण के साथ बंद करना होगा।


मुझे क्या फंस गया था, मैं पूरी तरह से समझ नहीं पाया था कि mysql टर्मिनल अपने विभिन्न बोली मोड में इनपुट को कैसे परिभाषित करता है जैसा कि यहाँ परिभाषित किया गया है: dev.mysql.com/doc/refman/5.0/en/entering-queries.html 5 मोड हैं : ->, '>, ">, `>, और /*> मैं इसे फिर से नवीनतम संस्करण पर परीक्षण किया, और इसे सही ढंग से काम किया। तो यह एक निश्चित बग की तरह दिखता है।
एरिक लेसचिंस्की

अर्धविराम काम नहीं करता है ... कुछ भी नहीं करता है। अगर मैं \ G करता हूं तो यह कार्य करता है जैसे कि यह उस बेवकूफ -> मोड से बाहर निकल गया, लेकिन फिर एक और कमांड के बाद इसमें वापस चला जाता है। Mysql इस बारे में इतना गूंगा क्यों है?
अमलगोविनस

असली जवाब है, विंडोज 'mysql cli खराब हो गया है और फंस सकता है। खिड़कियों पर सबसे आसान तरीका सिर्फ गिट बश का उपयोग करना है
अमलगोविनास

20

विंडोज में ctrl-c mysql इनपुट मोड से बाहर क्यों नहीं निकलता है?

क्योंकि आपने MySQL को अपने एक्ज़िट कमांड्स को मान्य इनपुट के रूप में व्याख्या करने के लिए कहा है।

MySQL टर्मिनल को समझने में मुश्किल होती है कि वहाँ एकल उद्धरण, डबल उद्धरण और सामान्य मोड के लिए अलग-अलग मोड हैं।

तो mysql इनपुट मोड से बाहर निकलने के लिए, आपको ये चरण करने होंगे:

  1. दोहरे उद्धरण मोड से बाहर निकलें।
  2. एकल उद्धरण मोड से बाहर निकलें।
  3. Mysql मोड से बाहर निकलें।
  4. डिफ़ॉल्ट टर्मिनल पर वापस mysql से बाहर निकलें।

सबसे बुनियादी उदाहरण:

mysql> /version
    ->
    ->
    ->
    -> \c
mysql> exit
Bye

C:\>

आपने उपर्युक्त उदाहरण में डिफ़ॉल्ट मोड को कभी नहीं छोड़ा है ताकि बाहर निकलने के कमांड सही तरीके से काम करें।

उदाहरण 2 (यह वही है जो आपको ट्रिप कर रहा है)।

mysql> hello
    ->
    -> look dash is on the left"
    "> In doublequote mode now, because doublequote above
    "> adding another doublequote breaks you out: "
    -> look a single quote ' here
    '> in single quote mode now.
    '> get out, in, then out again with three singlequotes: '''
    -> now it will listen to your escape code: \c
mysql> exit
Bye

C:\>

जब आप एकल उद्धरण मोड या दोहरे उद्धरण मोड में होते हैं, तो कोई भी क्रम अनुक्रम का सम्मान नहीं किया जाता है। यहां तक कि Ctrl-Cऔर Ctrl-Dइन मोड में अनदेखी कर रहे हैं।

किन 26 ब्रह्मांडों में से एक में Ctrl-C मोड की परवाह किए बिना प्रोग्राम को नहीं रोकता है? हम कभी नहीं जान सकते। Bazinga।


1
मैं अनुमान लगा रहा हूं कि उद्धरण चीजों से बचते हैं, और इसके अधिक इनपुट की प्रतीक्षा कर रहे हैं। यही कारण है कि वास्तव में तरह बनाता है भावना की है जब आप एक डेटाबेस के अंदर 'प्रस्थान' की तरह कुछ संग्रहीत कर सकता है
जर्नीमैन गीक

@Eric, जबकि Ctrl-D तब काम नहीं करता है जब आप उद्धरण मोड में होते हैं, Ctrl-C अभी भी काम करता है यदि आप mysql 5.5.43 और mysql 5.1.73 जैसे पुराने क्लाइंट का उपयोग कर रहे हैं । 8.1 पर जीत का परीक्षण।
पचेरियर

Ctrl-c अभी भी इसे मेरे लिए नहीं छोड़ता है। मुझे कभी भी "अलविदा" संदेश नहीं मिला। इसके अलावा, जब मैं स्टिक -> मोड में रहता हूं, तो केवल एक चीज जो मैं कर सकता हूं वह है Ctrl + C बाहर निकलने के लिए? दुभाषिया से बिल्कुल कुछ नहीं मिलता है। ज्यादातर मामलों में मैसकल सहज है, लेकिन यह ऐसा एक मामला नहीं है।
अमलगोविनस

हो सकता है कि आपका टर्मिनल एमुलेटर आपके Ctrl-कोड्स को ग्रोब कर रहा हो और प्रक्रिया के लिए एक अलग कीकोड भेज रहा हो, जिसे वह टेक्स्ट के रूप में व्याख्या करता है। मैं आपका दर्द महसूस कर रहा हूं, जब मैंने 2013 में इस पोस्ट को वापस लिखा था, तो यह इस समस्या के लिए था और एक लाख अन्य लोगों को यह पसंद आया कि मेरी पूर्व विंडोज़ मशीन को मेरे पीसी को दूषित करने के लिए कूड़ेदान में फेंक दिया गया था, यह कहीं न कहीं लैंडफॉक्स में बैठा है। । मुझे इसे ठीक करने का एकमात्र तरीका था विंडोज ऑपरेटिंग सिस्टम से छुटकारा पाना और मैक और लिनक्स विचारधाराओं में माइग्रेट करना जो आपके Ctrl-C को काम करने से रोकने के लिए बिचौलियों को सम्मिलित करने के इन अपराधों को नहीं करते हैं।
एरिक लेसचिंस्की

1

SQL कई लाइनों के रूप में दर्ज किए गए प्रश्नों का समर्थन करता है। जब आप एक अर्ध-उपनिवेश दर्ज करते हैं, ;तो क्वेरी निष्पादित की जाएगी। आपको अपनी क्वेरी में किसी भी तार को समाप्त करने की आवश्यकता है।

वर्ड प्रोसेसिंग पैकेज से स्ट्रिंग के साथ प्रश्नों को कॉपी और पेस्ट करने के लिए देखें - उद्धरण को 'स्मार्ट कोट्स' से बदला जा सकता है और इससे आपकी क्वेरी गड़बड़ हो जाएगी।

यदि आपने एक बिना क्वेरी के प्रवेश किया है, तो यह नहीं चलता है, और इसीलिए टाइपिंग निकास काम नहीं करता है - MySQL आपको लगता है कि आप अभी भी एक क्वेरी के बीच में हैं। क्वेरी को समाप्त करने के लिए क्या इनपुट आवश्यक है, यह दिखाने के लिए कमांड प्रॉम्प्ट बदलता है। उदाहरण के लिए एक उद्धरण या दोहरे उद्धरण की आवश्यकता हो सकती है। यह शक्तिशाली है और कमांड प्रॉम्प्ट मददगार है, लेकिन मैंने इसे तब तक भ्रामक पाया जब तक कि मैंने इस धागे के उत्तर और टिप्पणियों को नहीं पढ़ा।

विनिर्देश यहाँ पढ़ें

'शीर्ष स्तर' संकेत है:

mysql>

यदि आप इसे देखते हैं, तो आप एक कमांड दर्ज कर सकते हैं, इसे समाप्त कर सकते हैं; और एंटर दबाएं।

यदि आप इस तरह एक संकेत देखते हैं:

'>
">
->

तब MySQL बोली के साथ एक स्ट्रिंग को समाप्त करने या अर्ध-बृहदान्त्र के साथ एक प्रश्न के लिए प्रतीक्षा कर रहा है।

यहां बताया गया है कि MySQL को आपके गड़बड़ किए गए अनवांटेड क्वेरी को रद्द करने और आपको मुख्य प्रॉम्प्ट पर वापस कैसे लाया जाए:

\c

मुझे लगता है कि यह आपकी अनपेक्षित क्वेरी को समाप्त करने और चलाने से अधिक सुरक्षित है। इसके बाद, आपको वापस> शीघ्र होना चाहिए और इसके साथ बाहर निकल सकते हैं:

exit


0

आप Ctrl+ Shift+ का उपयोग करके भागने की कोशिश कर सकते हैंD


3
यह आपके द्वारा उपयोग किए जा रहे विशिष्ट टर्मिनल एमुलेटर की एक कलाकृति है, इसलिए यह जानना उपयोगी होगा कि कौन सा आपका है। आपके द्वारा जाहिरा तौर पर Ctrl-Shift-D को एक कीकोड में रीमेक किया गया है जो कि mysql प्रक्रिया का मतलब निकास से है। यदि यह मामला है, तो आपको अपने टर्मिनल एमुलेटर में कीकोड को रीमैप करने में सक्षम होना चाहिए ताकि आपको प्रोग्राम से बाहर निकलने के लिए कार्पल टनल प्राप्त न करना पड़े।
एरिक लेसचिंस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.