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

शेल स्क्रिप्ट से MySQL कमांड कैसे निष्पादित करें?

आपको -p . का उपयोग करने की आवश्यकता है एक पासवर्ड भेजने के लिए ध्वज। और यह मुश्किल है क्योंकि आपके पास -p . के बीच कोई स्थान नहीं होना चाहिए और पासवर्ड।

$ mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"

यदि आप -p . के बाद किसी स्थान का उपयोग करते हैं यह mysql क्लाइंट को आपको पासवर्ड के लिए अंतःक्रियात्मक रूप से संकेत देता है, और फिर यह अगले कमांड तर्क को डेटाबेस-नाम के रूप में व्याख्या करता है:

$ mysql -h "server-name" -u "root" -p "XXXXXXXX" "database-name" < "filename.sql"
Enter password: <you type it in here>
ERROR 1049 (42000): Unknown database 'XXXXXXXX'

वास्तव में, मैं उपयोगकर्ता और पासवर्ड को ~/.my.cnf में संग्रहीत करना पसंद करता हूं, इसलिए मुझे इसे कमांड-लाइन पर बिल्कुल भी डालने की आवश्यकता नहीं है:

[client]
user = root
password = XXXXXXXX

फिर:

$ mysql -h "server-name" "database-name" < "filename.sql"

अपनी टिप्पणी दें:

मैं बैच-मोड mysql कमांड को उपरोक्त की तरह कमांड लाइन पर और शेल स्क्रिप्ट में हर समय चलाता हूं। आपकी शेल स्क्रिप्ट में क्या गलत है इसका निदान करना कठिन है, क्योंकि आपने सटीक स्क्रिप्ट या कोई त्रुटि आउटपुट साझा नहीं किया है। मेरा सुझाव है कि आप ऊपर अपना मूल प्रश्न संपादित करें और जो गलत हुआ उसके उदाहरण प्रदान करें।

साथ ही जब मैं शेल स्क्रिप्ट का समस्या निवारण कर रहा होता हूं तो मैं -x . का उपयोग करता हूं ध्वज ताकि मैं देख सकूं कि यह प्रत्येक आदेश को कैसे क्रियान्वित कर रहा है:

$ bash -x myscript.sh


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/MySQL में भू-खोज (दूरी) (प्रदर्शन)

  2. अज्ञात प्रमाणीकरण विधि के साथ MySQL दूरस्थ कनेक्शन विफल हो जाता है

  3. MySQL में MAX () बनाम ग्रेटेस्ट ():क्या अंतर है?

  4. MySQL के लिए Navicat

  5. MySQL 8.0 के लिए Percona सर्वर के साथ एक एन्क्रिप्टेड डेटाबेस का बैकअप कैसे लें