बाश में MySQL से कनेक्ट करना (MySQL के बिना)


11

मैं बैश में एक दूरस्थ MySQL डेटाबेस से कनेक्ट करने का प्रयास कर रहा हूं। डेटाबेस को होस्ट करने वाले सर्वर पर मैं टाइप कर सकता हूं:

mysql -u _username_ -p

संपर्क करना।

मैं टाइप करने में सक्षम होना चाहता हूं:

mysql -h _host_ -u _username_ -p

किसी अन्य सर्वर से कनेक्ट करने के लिए। मेरे पास क्लाइंट पर MySQL स्थापित नहीं है इसलिए कमांड नहीं मिला है। क्या ऐसा कुछ है जिसे मैं पूरे MySQL- सर्वर के अलावा (उपयुक्त-पसंदीदा) स्थापित कर सकता हूं ताकि मैं bash में mysql कमांड का उपयोग कर सकूं?


1
apt-get स्थापित mysql- क्लाइंट मुझे लगा कि यह केवल GUI क्लाइंट के लिए है।
user722307

आप अपने स्वयं के प्रश्न का उत्तर दे सकते हैं, और कुछ समय बाद आप इसे स्वीकार भी कर सकते हैं।
enzotib

जवाबों:


21

कमांड लाइन MySQL क्लाइंट स्थापित करने के लिए आपको करना चाहिए:

sudo apt-get install mysql-client

और फिर आप कर सकते हैं

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

हालाँकि आपको MySQL सर्वर के सेट अप को बदलना पड़ सकता है। डिफ़ॉल्ट रूप से ubuntu पर MySQL सर्वर केवल स्थानीय सर्वर से कनेक्शन स्वीकार करेगा। सेटिंग को कहा जाता है bind-addressऔर इसमें सेट किया गया है /etc/mysql/my.cnf। डिफ़ॉल्ट रूप से यह है 127.0.0.1- आपको इसे सर्वर के आईपी पते में बदलना चाहिए। यदि सर्वर में कई IP पते हैं, तो आप केवल एक IP पता (आंतरिक नेटवर्क के लिए कह सकते हैं) का चयन कर सकते हैं या MySQL मान बनाने के लिए सभी IP पते सुन सकते हैं0.0.0.0

आपको यह भी सुनिश्चित करना होगा कि MySQL उपयोगकर्ता डेटाबेस तक पहुंच सकता है। इंटरनेट पर दिए गए निर्देशों के बाद, आपने 'myname'@'localhost'उपयोगकर्ता बना लिया होगा - वह उपयोगकर्ता दूरस्थ रूप से कनेक्ट नहीं हो पाएगा। एक नया उपयोगकर्ता बनाने के लिए जो आपके ग्राहक के आईपी पते से जुड़ सकता है, आपको कुछ ऐसा करने की आवश्यकता है:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

MySQL के उपयोग विनिर्देशन के बारे में थोड़ा और पढ़ें

अंत में यह सुनिश्चित करना न भूलें कि सर्वर फ़ायरवॉल MySQL पोर्ट तक पहुँच की अनुमति देगा - डिफ़ॉल्ट 3306 है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.