इन विकल्पों को लिखने के वैकल्पिक तरीके।
आप लिख सकते हैं
mysql -u "$MYSQL_ROOT" -p"$MYSQL_PASS" -e "SHOW DATABASES"
अलग तर्क के रूप में खाली तार पारित करने के लिए। नीचे दी गई आपकी टिप्पणी इंगित करती है कि क्लाइंट अभी भी पासवर्ड मांगेगा, हालांकि। शायद यह खाली तर्क को डेटाबेस नाम के रूप में व्याख्या करता है, न कि पासवर्ड के रूप में। तो आप इसके बजाय निम्न कोशिश कर सकते हैं:
mysql --user="$MYSQL_ROOT" --password="$MYSQL_PASS" -e "SHOW DATABASES"
.my.cnf फ़ाइल
लेकिन अगर कोई रास्ता है, तो भी मेरा सुझाव है कि आप ~/.my.cnf
का उपयोग करें इसके बजाय फ़ाइल। कमांड लाइन पर तर्क ps -A -ocmd
द्वारा उत्पन्न प्रक्रिया सूची में शामिल होने की संभावना है , ताकि अन्य उपयोगकर्ता उन्हें देख सकें। .my.cnf
दूसरी ओर, फ़ाइल केवल आपके द्वारा पठनीय (और चाहिए) बनाई जा सकती है (chmod 0600 ~/.my.cnf
का उपयोग करके) ), और स्वचालित रूप से उपयोग किया जाएगा। क्या उस फ़ाइल में निम्न पंक्तियाँ शामिल हैं:
[client]
user=root
password=
फिर एक साधारण mysql -e "SHOW DATABASES"
पर्याप्त होगा, क्योंकि क्लाइंट उस फ़ाइल से अपने क्रेडेंशियल प्राप्त करेगा।
देखें 6.1.2.1। पासवर्ड सुरक्षा के लिए अंतिम-उपयोगकर्ता दिशानिर्देश
विभिन्न तरीकों से आप एक पासवर्ड प्रदान कर सकते हैं, और उनके संबंधित लाभ और कमियां। देखें 4.2.3.3। विकल्प फ़ाइलों का उपयोग करना
इस पर सामान्य जानकारी के लिए .my.cnf
फ़ाइल