Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

हम एक MySQL उपयोगकर्ता को विशेषाधिकार कैसे प्रदान कर सकते हैं?

<घंटा/>

हमें नए उपयोगकर्ता को विशेषाधिकार देने की आवश्यकता है जिसे हमने बनाया है क्योंकि नए उपयोगकर्ता के पास विशेषाधिकार नहीं होंगे। हम उपयोगकर्ता खाते को विशेषाधिकार देने के लिए GRANT स्टेटमेंट का उपयोग कर सकते हैं। इसका सिंटैक्स इस प्रकार होगा -

सिंटैक्स

<पूर्व>अनुदान विशेषाधिकार,[विशेषाधिकार],.. विशेषाधिकार_स्तर पर उपयोगकर्ता [पासवर्ड द्वारा पहचाना गया] [आवश्यक tsl_option][GRANT_OPTION के साथ | संसाधन_विकल्प]];

उपरोक्त सिंटैक्स की व्याख्या इस प्रकार है -

सबसे पहले, GRANT कीवर्ड के बाद एक या अधिक विशेषाधिकार निर्दिष्ट करें। यदि हम उपयोगकर्ता को अनेक विशेषाधिकार प्रदान करते हैं, तो प्रत्येक विशेषाधिकार अल्पविराम द्वारा अलग किया जाता है।

इसके बाद, विशेषाधिकार_स्तर निर्दिष्ट करें जो उस स्तर को निर्धारित करता है जिस पर विशेषाधिकार लागू होते हैं। MySQL ग्लोबल (*.*), डेटाबेस (डेटाबेस। *), टेबल (डेटाबेस.टेबल) और कॉलम लेवल को सपोर्ट करता है। यदि हम स्तंभ विशेषाधिकार स्तर का उपयोग करते हैं, तो हमें प्रत्येक विशेषाधिकार के बाद एक या अल्पविराम से अलग किए गए स्तंभ की सूची निर्दिष्ट करनी होगी।

फिर, उस उपयोगकर्ता को रखें जिसे हम विशेषाधिकार देना चाहते हैं। यदि उपयोगकर्ता पहले से मौजूद है, तो GRANTstatement इसके विशेषाधिकार को संशोधित करता है। अन्यथा, GRANT कथन एक नया उपयोगकर्ता बनाता है। द्वारा पहचाना गया वैकल्पिक खंड हमें उपयोगकर्ता के लिए एक नया पासवर्ड सेट करने की अनुमति देता है।

उसके बाद, हम निर्दिष्ट करते हैं कि उपयोगकर्ता को एसएसएल, एक्स059, आदि जैसे सुरक्षित कनेक्शन पर डेटाबेस सर्वर से कनेक्ट करना है या नहीं।

अंत में, GRANT OPTION क्लॉज के साथ वैकल्पिक हमें अन्य उपयोगकर्ताओं को प्रदान करने या अन्य उपयोगकर्ताओं से हमारे पास मौजूद विशेषाधिकारों को हटाने की अनुमति देता है। इसके अलावा, हम MySQL डेटाबेस सर्वर के संसाधन को आवंटित करने के लिए WITH क्लॉज का उपयोग कर सकते हैं, उदाहरण के लिए, यह निर्धारित करने के लिए कि उपयोगकर्ता प्रति घंटे कितने कनेक्शन या स्टेटमेंट का उपयोग कर सकता है। यह साझा वातावरण में बहुत मददगार है जैसे कि MySQL साझा होस्टिंग।

उदाहरण

नीचे दिए गए उदाहरण में हम एक उपयोगकर्ता बना रहे हैं और उसे विशेषाधिकार प्रदान कर रहे हैं -

mysql> mysqlDatabase changemysql का उपयोग करें> 'पासवर्ड123' द्वारा पहचाने गए उपयोगकर्ता abcd@localhost बनाएं;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.04 सेकंड)

नीचे दी गई क्वेरी हमें नए उपयोगकर्ता खाते abcd@localhost के लिए विशेषाधिकार प्रदान करेगी।

mysql> abcd@localhost के लिए अनुदान दिखाएं;+------------------------------------- -----+| एबीसीडी@लोकलहोस्ट के लिए अनुदान |+------------------------------------------+ | *.* पर 'abcd'@'localhost' पर उपयोग अनुदान |+-------------------------------------- --------+1 पंक्ति सेट में (0.01 सेकंड)

अब, abcd@localhost उपयोगकर्ता खाते को सभी विशेषाधिकार प्रदान करने के लिए, हम निम्नलिखित कथन का उपयोग कर सकते हैं -

mysql> GRANT ALL ON *.* 'abcd'@'localhost' with GRANT OPTION;क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.05 सेकंड)

यहां, ON *.* क्लॉज का अर्थ है सभी डेटाबेस और डेटाबेस में सभी ऑब्जेक्ट। अनुदान के साथ विकल्प abcd@localhost को अन्य उपयोगकर्ताओं को विशेषाधिकार प्रदान करने की अनुमति देता है।

अब अगर हम SHOW GRANTS स्टेटमेंट का फिर से उपयोग करेंगे, तो हम देखेंगे कि abcd@localhost के विशेषाधिकार अपडेट कर दिए गए हैं।

mysql> abcd@localhost के लिए अनुदान दिखाएं;+------------------------------------- --------------------------------+| एबीसीडी@लोकलहोस्ट के लिए अनुदान |+------------------------------------------ --------------------------+| अनुदान विकल्प के साथ *.* 'abcd'@'localhost' पर सभी विशेषाधिकार प्रदान करें |+---------------------------- ----------------------------------------+1 पंक्ति सेट में (0.00 सेकंड) 
  1. MySQL पर किसी भिन्न उपयोगकर्ता के रूप में लॉग इन कैसे करें?

    यदि आप MySQL पर एक अलग उपयोगकर्ता के रूप में लॉगिन करना चाहते हैं, तो आपको mysql -u -p कमांड का उपयोग करना होगा। एक अलग उपयोगकर्ता के रूप में लॉगिन करने के लिए सिंटैक्स निम्नानुसार है। mysql -u yourUsername -p एंटर की दबाने के बाद पासवर्ड डालें - उपरोक्त सिंटैक्स को समझने के लिए, आइए MySQL में एक यू

  1. एक MySQL उपयोगकर्ता के लिए परिभाषित अनुदान कैसे प्रदर्शित करें?

    इसके लिए शो ग्रांट का इस्तेमाल करें। निम्नलिखित वाक्य रचना है - yourUserName@yourHostName के लिए अनुदान दिखाएं; आइए MySQL.user तालिका से उपयोगकर्ता नाम और होस्ट नाम प्रदर्शित करें। उपयोगकर्ता का चयन करें, MySQL.user से होस्ट करें; यह निम्नलिखित आउटपुट उत्पन्न करेगा - +---------------------+------

  1. हम उपयोगकर्ता को MySQL में सभी संग्रहीत प्रक्रियाओं तक पहुंचने की अनुमति कैसे दे सकते हैं?

    आइए पहले MySQL.user तालिका से सभी उपयोगकर्ताओं और होस्ट को प्रदर्शित करें - उपयोगकर्ता का चयन करें, Mysql.user से होस्ट करें; यह निम्नलिखित आउटपुट देगा - +---------------------+----------+| उपयोगकर्ता | मेजबान | +---------------------+-----------+| बॉब | % || चार्ली | % || रॉबर्ट | % || User2 | %