OS के अंदर कहीं भी एक फ़ाइल का उपयोग करने के लिए, --defaults-extra-fileउदाहरण के लिए उपयोग करें :
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
नोट: .sqlpwdसिर्फ एक उदाहरण फ़ाइल नाम है। आप अपनी इच्छानुसार उपयोग कर सकते हैं।
नोट: MySQL स्वचालित रूप से जांच करेगा ~/.my.cnfजिसके लिए इसका उपयोग किया जा सकता है--defaults-extra-file
अगर आपके मेरे जैसे CRON का उपयोग कर रहे हैं, तो यह कोशिश करो!
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > "$(date '+%F').sql"
आवश्यक अनुमति और अनुशंसित स्वामित्व
sudo chmod 600 /path/.sqlpwd && sudo chown $USER:nogroup /path/.sqlpwd
.sqlpwd सामग्री:
[mysqldump]
user=username
password=password
अन्य उदाहरण में पारित करने के लिए .cnfया.sqlpwd
[mysql]
user=username
password=password
[mysqldiff]
user=username
password=password
[client]
user=username
password=password
यदि आप अपने आप डेटाबेस में लॉग इन करना चाहते हैं, तो आपको [mysql]उदाहरण के लिए प्रवेश की आवश्यकता होगी ।
अब आप एक उपनाम बना सकते हैं कि ऑटो आपको डीबी से जोड़ता है
alias whateveryouwant="mysql --defaults-extra-file=/path/.sqlpwd [database]"
आप केवल पासवर्ड भी डाल सकते हैं .sqlpwdऔर स्क्रिप्ट / क्ली के माध्यम से उपयोगकर्ता नाम पास कर सकते हैं । मुझे यकीन नहीं है कि इससे सुरक्षा में सुधार होगा या नहीं, यह एक अलग सवाल होगा।
संपूर्णता के लिए मैं बताऊंगा कि आप निम्नलिखित कार्य कर सकते हैं, लेकिन यह बहुत असुरक्षित है और इसका उपयोग कभी भी उत्पादन वातावरण में नहीं किया जाना चाहिए:
mysqldump -u [user_name] -p[password] [database] > [desiredoutput].sql
नोट: -p और पासवर्ड के बीच कोई स्पेस नहीं है।
उदाहरण गलत है, -pPassWordजबकि सही -p Passwordहै