सबसे अच्छा उपकरण जो मुझे मिला वह था sqlyog, (शायद mysql कार्यक्षेत्र भी), जो वास्तव में उस होस्टनाम को बताएगा जिसमें आप असफल कनेक्ट से आ रहे हैं।
मुझे इसे पसंद करने का कारण यह है कि यह सुरक्षा को कड़ा रखता है, उपयोगकर्ता के लिए एक्सेस अस्वीकृत जैसा कुछ दिखा रहा है " ". ध्यान दें, वह होस्टनाम, मैंने अभी बनाया है, लेकिन यह महत्वपूर्ण है, जो भी आपका आ रहा है। अन्यथा यह वाइल्डकार्ड समय है, कुछ ऐसा जो मैं नहीं करूंगा। आप चुन सकते हैं।
यह महत्वपूर्ण है क्योंकि वह होस्टनाम (hdm38.newyork.comcastbusiness.net ) वह है जिसका उपयोग मैं mysql के दौरान करता हूं create user
%
मैंने ऊपर दिए गए कनेक्ट को विफल होने दिया, लेकिन मैं ध्यान देता हूं कि होस्टनाम ऊपर क्या है। आप इसे नीचे देखेंगे।
एक त्वरित चेकलिस्ट
1) आपका दूरस्थ उपयोगकर्ता एक ऐसे खाते के माध्यम से जुड़ रहा है जो उपयुक्त user,host
. के साथ बनाया गया था प्रविष्टियां (select user,host from mysql.user order by 1,2
)
CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';
उस उपरोक्त आदेश के साथ अब हमारे पास एक नया उपयोगकर्ता है जिसके पास अंदर जाने का मौका है। कुछ नहीं कर सकता। डीबी में नहीं बदला जा सकता है। मूल रूप से वे केवल select now();
. जैसी चीज़ें कर सकते हैं
2) आपने grants
का प्रदर्शन किया है flush privileges
. के साथ (कम से कम पूर्व)
GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';
उपरोक्त कमांड वाला हमारा उपयोगकर्ता अब mydb123 डेटाबेस/स्कीमा में कुछ भी कर सकता है। यह एक्सप्लोर करें कि आपके द्वारा बनाए गए उपयोगकर्ताओं के लिए न्यूनतम तक फ़ाइन-ट्यूनिंग एक्सेस के लिए मैनुअल में ग्रांट कमांड के ऊपर।
यदि आप mysql सुरक्षा के लिए नए हैं, तो WITH GRANT OPTION
. शामिल न करें जब तक आप इस पर शोध न करें।
कुछ ऐसे भी हैं जो कहते हैं कि ऊपर दिए गए होस्टनाम का चरण 1 और 2 के लिए '%' होना चाहिए। इसका मतलब है कि सांता किसी भी होस्ट से जुड़ सकता है। चुनाव तुम्हारा है। एक बार जब आप कहीं जा रहे हों तो कसकर शुरू करें, ढीला हो जाएं और उस पर शोध कर लें।
3) आपने my.cnf . को संशोधित किया है और बदल दिया bind-address
127.0.0.1
. से दूर या localhost
, 0.0.0.0
. के पक्ष में
अगर बाइंड-एड्रेस 0.0.0.0
नहीं है , आप केवल ssh से जुड़ रहे हैं
4) आपने my.cnf . को संशोधित किया है और एक रीमेड आउट लाइन है #skip-networking
. यहां तक कि अगर आपको इसे हटाने के लिए लाइन बनानी है, तो भी करें।
3/4 परिवर्तनों के लिए mysql डेमॉन पुनरारंभ की आवश्यकता है
5) फ़ायरवॉल मुद्दे। तो EC2 के लिए, आपको अपने AWS Security Group
. की आवश्यकता है जो पोर्ट 3306 के उद्घाटन को शामिल करने के उदाहरण के लिए सक्रिय है