2011-06-18 2 views
5

पर लिंक करना मैंने अभी MySQL वर्कबेंच डाउनलोड किया है।MySQL वर्कबेंच को मेरे रिमोट सर्वर

लेकिन मुझे समझ में नहीं आता कि यह मेरे रिमोट सर्वर पर डेटाबेस के साथ कैसे समन्वयित करें।

वर्क बेंच "होस्टनाम" के लिए पूछता है इसलिए मैंने अपने रिमोट सर्वर का होस्टनाम प्रदान किया। मैं पोर्ट 3306 नामित करता हूं।

मैं फिर उपयोगकर्ता नाम प्रदान करता हूं। जब मैं phpAdmin में लॉग इन करता हूं तो यह वह उपयोगकर्ता नाम है जिसका उपयोग मैं अलग-अलग उपयोग कर रहा हूं?

फिर मैं एक पासवर्ड प्रदान करता हूं, फिर मैं वही करता हूं जिसे मैं PhpAdmin के लिए उपयोग करता हूं।

लेकिन यह काम नहीं करता है।

अजीब तरह, त्रुटि हमेशा मुझसे कहता है मेरे उपयोगकर्ता नाम है: [email protected]_network_im_using_to_access_the_internet

लेकिन यह सही नहीं लगता है - मेरे उपयोगकर्ता नाम phpAdmin पर [email protected] कहते हैं।

मुझे पूरा यकीन नहीं है कि क्या करना है।

क्या आप मेरी मदद कर सकते हैं?

उत्तर

13

MySQL लॉग इन को उनके द्वारा उत्पन्न मेजबान के लिए विशिष्ट मानता है। आपके द्वारा सर्वर पर उपयोग किए जाने वाले आपके घर की मशीन से अलग पासवर्ड हो सकता है, और आप अलग-अलग मूल होस्टों के समान उपयोगकर्ता नाम को अनुमतियों के पूरी तरह से अलग सेट प्राप्त कर सकते हैं।

PHPMyadmin पर, डेटाबेस वेब सर्वर के समान सर्वर पर चल रहा है, और इसलिए आईपी 127.0.0.1 के साथ खुद को localhost के रूप में संदर्भित करता है। आपकी मशीन जिस पर वर्कबेंच स्थापित है, को आपके [email protected] की तुलना में अलग-अलग प्रमाण-पत्रों के साथ MySQL तक पहुंचना चाहिए। सर्वर के लिए आपको किसी भी होस्ट से कनेक्ट करने का इरादा रखने के लिए अपने उपयोगकर्ता नाम तक पहुंच प्रदान करने की आवश्यकता होती है।

phpMyAdmin में, आप दूरस्थ होस्ट से अपने डेटाबेस को पहुंच प्रदान करने की आवश्यकता होगी: (यह भी देखें कि किसी भी मेजबान से कनेक्शन की अनुमति के लिए पेका का जवाब)

GRANT ALL PRIVILEGES on dbname.* TO [email protected]_remote_hostname IDENTIFIED BY 'yourpassword'; 

सभी अनुदान को देखने के लिए आप वर्तमान में localhost पर है ताकि आप उन्हें दूरस्थ होस्ट के लिए नकल कर सकते हैं:

SHOW GRANTS FOR [email protected]; 

साथ ही, MySQL सर्वर पहली जगह में दूरस्थ कनेक्शन स्वीकार करने के लिए सेटअप की जरूरत है। यह हमेशा ऐसा नहीं होता है, खासकर वेब होस्टिंग प्लेटफार्मों पर। my.cnf फ़ाइल में, skip-networking लाइन को हटाया जाना चाहिए या टिप्पणी की जानी चाहिए।अगर कोई skip-networking लाइन है, तो आप लाइन बाहर टिप्पणी करना होगा:

bind-address = 127.0.0.1 

... तो MySQL पुनः आरंभ करें।

+0

बहुत उपयोगी माइकल - वर्तमान में, मेरा सर्वर मुझे आपके द्वारा दिए गए आदेशों को करने की अनुमति नहीं दे रहा है। मुझे लगता है कि ऐसा इसलिए हो सकता है क्योंकि, जैसा कि आपने कहा था, MySQL सर्वर दूरस्थ कनेक्शन स्वीकार करने के लिए सेट नहीं है। हालांकि, मैंने अपने सर्वर डायरेक्टर को 'my.cnf' के लिए खोजा है और मुझे यह नहीं मिल रहा है। क्या आप मेरी वेब होस्टिंग कंपनी इसे मुझसे रोक सकते हैं? – Jeff

+0

@ जेफ हाँ मुझे डर है कि आपको यह पता लगाने के लिए अपनी वेब होस्टिंग कंपनी से संपर्क करना होगा कि क्या वे दूरस्थ mysql कनेक्शन को अनुमति देते हैं। मुझे लगता है, दुर्भाग्यवश, उनके लिए अनुमति देना असामान्य है। –

+0

@ माइकलबर्कोव्स्की ने बाइंड-एड्रेस पर टिप्पणी की, मैंने प्रलेखन देखा कि यह सर्वर का आईपी होना चाहिए। पता, हालांकि मुझे यकीन नहीं है कि i.p. क्या किया जा सकता है स्थिर नहीं है। –

1

आपका phpMyAdmin डेटाबेस के समान सर्वर पर चल रहा प्रतीत होता है।

इसलिए, यह सर्वर से कनेक्ट करने के लिए [email protected] का उपयोग कर सकते हैं।

आपको एक और उपयोगकर्ता [email protected]% (% यानी "कोई मेजबान") जोड़कर बाहरी स्थानीयहोस्ट से कनेक्शन को स्वीकार करने की आवश्यकता होगी।

नोट हालांकि यह अच्छा अभ्यास नहीं है - यदि आपके पास स्थिर आईपी है, तो उस पते तक पहुंच सीमित करने पर विचार करें।

+1

बस एक नोट, अपने my.cnf में 'बाइंड-एड्रेस' परम की जांच करना न भूलें, डिफ़ॉल्ट रूप से सर्वर स्थानीय होस्ट में केवल कनेक्शन स्वीकार करता है। – sahid