मैं एक MySQL उपयोगकर्ता बनाने की कोशिश कर रहा हूं जिसे केवल एक विशिष्ट होस्टनाम से MySQL डेटाबेस से कनेक्ट करने की अनुमति दी जाएगी।
सभी को db_name पर दें। * 'user_name'@'appserver-lan.mydomain.com' को 'some_passwd' द्वारा पहचाना गया
Mysql db पर उपयोगकर्ता तालिका की जाँच करके, मैं देख सकता हूँ कि उपयोगकर्ता सफलतापूर्वक बनाया गया था:
mysql का उपयोग करें; उपयोगकर्ता का चयन करें जहां उपयोगकर्ता = 'user_name' और होस्ट = 'appserver-lan.mydomain.com'
या
'username'@'appserver-lan.mydomain.com' के लिए अनुदान दिखाएं
मेरे द्वारा होस्ट किया गया होस्टनाम एक amazon-ec2 नाम का उपनाम है, जिसे जब AWS DNS सर्वर द्वारा हल किया जाता है, तो इसका परिणाम LAN में होता है:
[रूट @ db_server ~] # मेजबान appserver-lan.mydomain.com
appserver-lan.mydomain.com ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com ec2-xxx-xxx-xxx-xxx.compute-1 .amazonaws.com के लिए एक उपनाम है। पते 10.xxx है .xxx.xxx
समस्या यह है कि जब मैं इस appserver-lan से डेटाबेस LAN IP से कनेक्ट करने का प्रयास करता हूं, तो मुझे एक एक्सेस अस्वीकृत त्रुटि मिलती है, हालांकि पासवर्ड सही है। यहां अजीब बात यह है कि होस्टनाम त्रुटि में दिखाया गया वह होस्टनाम नहीं है जिसे मैंने उपयोगकर्ता द्वारा बनाए जाने पर निर्दिष्ट किया था:
ERROR 1045 (28000): उपयोगकर्ता ' user_name ' @ ' appserver.mydomain.com ' के लिए अस्वीकृत (पासवर्ड का उपयोग कर: YES)
तो, मेरा सवाल है: mysql क्लाइंट होस्टनाम कैसे निर्धारित करता है? मेरा मानना है कि यह रिवर्स DNS लुकअप द्वारा ऐसा नहीं करता है, क्योंकि मैंने जाँच की है और यह "appserver.mydomain.com" को इंगित नहीं करता है और न ही "appserver-lan.mydomain.com" को। इसके अतिरिक्त, db सर्वर में appserver पर / etc / मेजबान से संबंधित कोई प्रविष्टियाँ नहीं हैं।
संक्षेप में, मुझे पूरा यकीन है कि यह एक होस्टनाम रिज़ॉल्यूशन समस्या है, क्योंकि होस्ट "%" या LAN IP के लिए विशेषाधिकार देने से ठीक काम होता है।
मैं क्या याद कर रहा हूँ के किसी भी विचार?
host -t PTR 10.1.2.3
?