Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं एक MySQL क्लाइंट के लिए ऑटोोकॉमिट कैसे बंद करूं?

शायद सबसे अच्छा तरीका एक स्क्रिप्ट लिखना है जो mysql कमांड लाइन क्लाइंट को शुरू करता है और फिर स्वचालित रूप से जो भी एसक्यूएल आप चाहते हैं उसे आपको नियंत्रण सौंपने से पहले चलाता है।

लिनक्स 'उम्मीद' नामक एप्लिकेशन के साथ आता है। यह शेल के साथ इस तरह से इंटरैक्ट करता है जैसे कि आपके कुंजी स्ट्रोक की नकल करता है। इसे mysql शुरू करने के लिए सेट किया जा सकता है, अपना पासवर्ड दर्ज करने के लिए प्रतीक्षा करें। आगे के कमांड चलाएँ जैसे SET autocommit = 0; फिर इंटरेक्टिव मोड में जाएं ताकि आप अपनी इच्छानुसार कोई भी कमांड चला सकें।

कमांड के बारे में अधिक जानकारी के लिए SET autocommit = 0; देखें.. http://dev.mysql. com/doc/refman/5.0/hi/innodb-transaction-model.html

मैं अपने मामले में कमांड लाइन उपयोगिता में लॉग इन करने की उम्मीद का उपयोग करता हूं, यह एसएसएच शुरू करता है, रिमोट सर्वर से जुड़ता है, एप्लिकेशन शुरू होता है जो मेरे उपयोगकर्ता नाम और पासवर्ड में प्रवेश करता है और फिर मुझे नियंत्रण में बदल देता है। मुझे टाइपिंग के ढेर से बचाता है :)

http://linux.die.net/man/1/expect

डीसी

माइकल हिंड्स द्वारा प्रदान की गई स्क्रिप्ट की अपेक्षा करें

spawn /usr/local/mysql/bin/mysql 
expect "mysql>" 
send "set autocommit=0;\r" 
expect "mysql>" interact

उम्मीद बहुत शक्तिशाली है और इस मामले में जीवन को बहुत आसान बना सकती है।

यदि आप स्क्रिप्ट को बिना कॉल किए चलाना चाहते हैं तो शेबैंग लाइन का उपयोग करें

इसे अपनी स्क्रिप्ट में पहली पंक्ति के रूप में डालें (संकेत:उपयोग करें which expect अपने अपेक्षित निष्पादन योग्य स्थान का पता लगाने के लिए)

#! /usr/bin/expect

फिर इसके साथ अपनी स्क्रिप्ट की अनुमतियां बदलें..

chmod 0744 myscript

फिर स्क्रिप्ट को कॉल करें

./myscript

डीसी



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql को mysqli में बदलें?

  2. SQL डिवीजन mysql में 'मौजूद नहीं' का उपयोग कर रहा है

  3. ऑटो-इंक्रीमेंट फ़ील्ड में छेद कैसे भरें?

  4. मैं कैसे जांच सकता हूं कि MySQL तालिका कॉलम भी मौजूद है या नहीं?

  5. समय ओवरलैप के लिए एक टेबल की जाँच?