mysql लॉगिन सेव करें


7

मुझे mysql cli के माध्यम से कई MYSQL DB के विभिन्न होस्ट पर लॉग इन करना होगा। क्या इन लॉगिन को सहेजना संभव है इसलिए मुझे क्रेडेंशियल्स को ट्रैकडाउन / याद रखने की ज़रूरत नहीं है?


1
क्या आप mysql नेटवर्क पोर्ट से कनेक्ट होते हैं या स्थानीय रूप से db से कनेक्ट होते हैं?
रोबॉटहैंस

1
डिफ़ॉल्ट फ़ाइल के साथ ऐसा करने का एक आसान तरीका के लिए dba.stackexchange.com/questions/3889/… देखें । ~/.my.cnfmysql --defaults-group-suffix
जिम स्टीवर्ट

जवाबों:


11

Http://bugs.mysql.com/bug.php?id=17627 पर एक चर्चा के आधार पर मैं स्वचालित रूप से विभिन्न mysql सर्वर में लॉग इन करने के लिए निम्न विधि का उपयोग करता हूं:

फ़ाइल /path/to/my-host1-cnf.txt

[client]
host="hostname1"
user="username1"
password="password1"
database="database1"

फ़ाइल /path/to/my-host2-cnf.txt

[client]
host="hostname2"
user="username2"
password="password2"
database="database2"

ऊपर दिए गए क्रेडेंशियल के साथ host1, डेटाबेस 1 से कनेक्ट करें:

mysql --defaults-file="/path/to/my-host1-cnf.txt"

उपरोक्त सहेजे गए क्रेडेंशियल्स के साथ host2, डेटाबेस 2 से कनेक्ट करें:

mysql --defaults-file="/path/to/my-host2-cnf.txt"

उम्मीद है की यह मदद करेगा :-)


1
ऐसा लगता है कि यह वही हो सकता है जो मुझे चाहिए। धन्यवाद!
घूंघट

4

आप हमेशा इसके लिए एक उपनाम बना सकते हैं

alias db1='mysql -uUsername1 -pPasswordSecure1 -hHosname1 DatabaseName1'
alias db2='mysql -uUsername2 -pPasswordSecure2 -hHosname2 DatabaseName2'

आदि..

और उन्हें अपने में डाल दिया

.bash_aliases

.barsh_profile

या

.bash_rc

लेकिन यह सुरक्षा मुद्दे को हल नहीं करता है! यहां तक ​​कि अगर आप अपने बैश फ़ाइलों पर "अच्छा" अनुमति देते हैं, तो इसका मतलब यह नहीं है कि यह सादा पाठ नहीं है :(


यह सुरक्षित नहीं है! "यह सुविधाजनक है लेकिन असुरक्षित है। कुछ सिस्टमों पर, आपका पासवर्ड सिस्टम स्टेटस प्रोग्राम जैसे ps पर दिखाई देता है जिसे कमांड लाइन प्रदर्शित करने के लिए अन्य उपयोगकर्ताओं द्वारा इनवाइट किया जा सकता है।" dev.mysql.com/doc/refman/5.1/en/password-security-user.html
geofflee

अपने पासवर्ड को सादे पाठ में रखना एक अच्छा विचार नहीं है। यहां तक ​​कि अगर आप अपनी फ़ाइलों को सुरक्षित करते हैं, तब भी यह एक कमांड के रूप में निष्पादित होता है ps aux, जो आपके, .bash_history, आदि में दिखाई देगा
blockloop
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.