कौन से MySQL उपयोगकर्ता आवश्यक हैं?


13

My MySQL सर्वर में कई अजीब उपयोगकर्ता हैं जो मैंने नहीं जोड़े। क्या ये सब जरूरी हैं?

'root'@'127.0.0.1'
'root'@'localhost'
'root'@'SERVERNAME'
'root'@'::1'
''@'SERVERNAME'
''@'LOCALHOST'

यदि मैं रूट के स्थानीय @ @ के अलावा सभी रूट को हटा देता हूं, तो क्या मैं खुद को डेटाबेस से बाहर कर सकता हूं? और खाली उपयोगकर्ता नामों का उद्देश्य क्या है? उन्हें लगता है कि सिर्फ 'उपयोगी उपयोग' है ??

क्या होस्ट और लोकलहोस्ट के रूप में 127.0.0.1 के बीच अंतर है? अगर मेरे पास केवल लोकलहोस्ट है और 127.0.0.1 नहीं है, तो क्या इसका मतलब है कि mysqlclient का उपयोग यूनिक्स सॉकेट के बजाय टीसीपी / आईपी कनेक्ट नहीं कर पाएगा?

जवाबों:


16
  1. ये उपयोगकर्ता डिफ़ॉल्ट उपयोगकर्ता प्रतीत होते हैं जो MySQL स्थापित होने पर जोड़े गए थे। यह अनुशंसा की जाती है कि आप MySQL स्थापित करने के बाद mysql_secure_installation चलाएं ।

  2. खाली उपयोगकर्ता नाम ('' @ 'SERVERNAME') अनाम उपयोगकर्ताओं का प्रतिनिधित्व करते हैं। यदि आप mysql_secure_installationपासवर्ड नहीं चलाते या सेट करते हैं, तो कोई भी पहुंच प्राप्त कर सकता है। यदि अनाम उपयोगकर्ता के GRANT USAGEविशेषाधिकार हैं, तो इसका मूल रूप से मतलब है कि इसमें कोई विशेषाधिकार नहीं है, लेकिन यह अभी भी अनाम लॉगिन को पूरी तरह से हटाने का एक अच्छा विचार है।

  3. नहीं, लोकलहोस्ट और 127.0.0.1 के बीच कोई बड़ा अंतर नहीं है। उपयोगकर्ता जिस भी आईपी पते से लॉगिन करने की कोशिश कर रहा है @[IP Address]वह उपयोगकर्ता नाम के भाग से मेल खाना चाहिए । यदि एक ही मशीन से अपनी प्रवेश MySQL सर्वर पर है, तो @localhostऔर @127.0.0.1मेल खाएगा। जैसा कि IVlint67 ने बताया, कुछ इंस्टॉलेशन में @localhostकाम करना बेहतर नहीं होगा @127.0.0.1


13

मैं आमतौर पर mysql_secure_installation स्क्रिप्ट के साथ स्थापित करता हूं MySQL अब के साथ शिपिंग कर रहा है ...


root@127.0.0.1 @ IP पता है। root @ localhost @ hostname है। सर्वर नाम के लिए Ditto। और आखिरी रूट लोकलहोस्ट के लिए @ IPv6 एड्रेस है।


MySQL साइट से:

होस्ट से जुड़ने का प्रयास 127.0.0.1 सामान्य रूप से लोकलहोस्ट खाते में होता है। हालाँकि, यह विफल रहता है यदि सर्वर --skip-name-resolution विकल्प के साथ चलाया जाता है, तो 127.0.0.1 खाता उस स्थिति में उपयोगी है।

खाली उपयोगकर्ता नाम:

कुछ खाते अनाम उपयोगकर्ताओं के लिए हैं। इनमें खाली यूजर नाम है। अनाम खातों का कोई पासवर्ड नहीं है, इसलिए कोई भी उन्हें MySQL सर्वर से कनेक्ट करने के लिए उपयोग कर सकता है

http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html


और अंत में:

यदि मैं रूट के स्थानीय @ @ के अलावा सभी रूट को हटा देता हूं, तो क्या मैं खुद को डेटाबेस से बाहर कर सकता हूं?

हां, लेकिन आप इसमें वापस आ सकते हैं

देखें --स्किप-अनुदान-टेबल: https://help.ubuntu.com/community/MysqlPasswordReset

क्या मैं?

मुझे परवाह नहीं है, यह आपका सर्वर है। यदि यह मेरा था, तो मैं रूट खातों को पासवर्ड के साथ सुरक्षित करूंगा और अनाम खातों को हटा दूंगा जब तक आपको उनकी आवश्यकता न हो।

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