Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में एक नया उपयोगकर्ता और अनुदान अनुमतियाँ कैसे बनाएँ?

MySQL एक लोकप्रिय और व्यापक रूप से उपयोग की जाने वाली डेटाबेस प्रबंधन प्रणाली है जो डेटा को संग्रहीत और व्यवस्थित करती है और उपयोगकर्ताओं को इसे पुनः प्राप्त करने की अनुमति देती है। यह विकल्पों की एक विस्तृत श्रृंखला के साथ आता है जो उपयोगकर्ताओं को टेबल और डेटाबेस के लिए कुछ अनुमतियां प्रदान करता है।

इस गाइड में, आप सीखेंगे कि कैसे एक नया उपयोगकर्ता बनाया जाए और MySQL . में अनुमतियां दी जाएं डेटाबेस।

MySQL में एक नया उपयोगकर्ता कैसे बनाएं

नया उपयोगकर्ता बनाने के लिए पहले MySQL शेल में लॉग इन करें।

$ sudo mysql -u root -p

MySQL डेटाबेस सेट करते समय दिए गए पासवर्ड के बाद sudo पासवर्ड प्रदान करें और ENTER hit दबाएं . इसके बाद, आपको यह संकेत मिलेगा।

एक नया उपयोगकर्ता बनाने के लिए, नीचे दिखाए गए सिंटैक्स का उपयोग करें:

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

उदाहरण के लिए, 'tecmint . नामक एक नया उपयोगकर्ता बनाने के लिए डेटाबेस के भीतर, कमांड को इनवाइट करें:

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

ध्यान में रखने के लिए कुछ बिंदु

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

अब तक, टेकमिंट उपयोगकर्ता के पास डेटाबेस के साथ बातचीत करने की कोई अनुमति नहीं है। वास्तव में, उपयोगकर्ता MySQL शेल तक भी नहीं पहुंच सकता है।

उपयोगकर्ता को टेबल सहित सभी डेटाबेस तक पूर्ण पहुँच प्रदान करने के लिए, रन करें।

MariaDB [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';

ऊपर दिए गए कमांड में, तारांकन क्रमशः डेटाबेस और तालिका की ओर इशारा करते हैं जिसे उपयोगकर्ता एक्सेस कर सकता है। यह उपयोगकर्ता को डेटाबेस पर सभी अधिकार प्रदान करता है - पढ़ें , लिखें , संपादित करें, और निष्पादित करें अन्य डेटाबेस और तालिकाओं में भी सभी कार्यों को करने सहित।

अब तक, हमने उपयोगकर्ता को डेटाबेस तक पूर्ण पहुंच प्रदान की है। हालांकि यह MySQL अवधारणाओं को समझाने में आसान है, आमतौर पर इसकी अनुशंसा नहीं की जाती है क्योंकि यह आपके डेटाबेस के लिए सुरक्षा जोखिम पैदा कर सकता है। जरा सोचिए कि अगर किसी हैकर ने यूजर का पासवर्ड पकड़ लिया तो क्या हो सकता है। हम आगे बढ़ेंगे और चर्चा करेंगे कि अगले भाग में विशिष्ट अनुमतियाँ कैसे प्रदान करें।

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

MariaDB [none]> FLUSH PRIVILEGES

विभिन्न उपयोगकर्ता अनुमतियां कैसे प्रदान करें

यहां उन संभावित अनुमतियों का विश्लेषण दिया गया है जो आप उपयोगकर्ताओं को प्रदान कर सकते हैं:

  • सभी विशेषाधिकार - जैसा कि पहले देखा गया था, यह एक MySQL उपयोगकर्ता को एक विशिष्ट डेटाबेस तक पूर्ण पहुंच प्रदान करता है।
  • बनाएं - उपयोगकर्ताओं को नए डेटाबेस या टेबल बनाने की अनुमति देता है।
  • ड्रॉप - उपयोगकर्ताओं को डेटाबेस या उपयोगकर्ताओं को हटाने में सक्षम बनाता है।
  • सम्मिलित करें - उपयोगकर्ताओं को तालिकाओं में पंक्तियों को सम्मिलित करने की अनुमति देता है।
  • हटाएं - उपयोगकर्ताओं को तालिकाओं से पंक्तियों को हटाने की अनुमति देता है।
  • चुनें - 'चयन' अनुमति के साथ, उपयोगकर्ता तालिका की सामग्री को पढ़ने में सक्षम होते हैं।
  • अपडेट करें - उपयोगकर्ताओं को तालिका में पंक्तियों को अपडेट करने की अनुमति देता है।
  • विकल्प दें - उपयोगकर्ता अन्य उपयोगकर्ताओं के विशेषाधिकार प्रदान या हटा सकते हैं।

किसी विशिष्ट उपयोगकर्ता को अनुमति देने के लिए, सिंटैक्स का उपयोग करें:

MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';

इसके अतिरिक्त, आप एक डेटाबेस में सभी तालिकाओं को एक तारक चिह्न के साथ अनुमतियाँ प्रदान कर सकते हैं जैसा कि दिखाया गया है:

MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';

उदाहरण के लिए, चुनें असाइन करने के लिए 'tecmint . की अनुमतियां ' डेटाबेस के सभी टेबलों पर उपयोगकर्ता testdb , कमांड चलाएँ।

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

फिर परिवर्तनों को प्रभावी करने के लिए विशेषाधिकारों को फ्लश करें।

MariaDB [none]> FLUSH PRIVILEGES;

इसके अतिरिक्त, आप एक से अधिक अनुमतियों को दिखाए गए अनुसार अल्पविराम से अलग करके उन्हें एक बार में असाइन कर सकते हैं।

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

MySQL अनुमतियों को कैसे निरस्त करें

किसी उपयोगकर्ता से अनुमतियां निरस्त करने के लिए, सिंटैक्स का उपयोग करें:

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

उदाहरण के लिए, INSERT revoke को निरस्त करने के लिए उपयोगकर्ता 'tecmint . से अनुमतियां ', कमांड चलाएँ।

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES
से

उपयोगकर्ता की वर्तमान अनुमतियों पर एक नज़र डालने के लिए, निष्पादित करें:

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

नीचे दिए गए आउटपुट से, हम देख सकते हैं कि INSERT 'tecmint . से अनुमति हटा दी गई है ' उपयोगकर्ता केवल चुनें छोड़ रहा है और अपडेट करें testdb . पर अधिकार डेटाबेस।

नए उपयोगकर्ता का उपयोग करके MySQL शेल में लॉग इन का परीक्षण करने के लिए, पहले लॉग आउट करें।

MariaDB [none]> quit;

फिर दोबारा लॉग इन करें।

$ sudo mysql -u tecmint -p

उपयोगकर्ता का पासवर्ड प्रदान करें और ENTER hit दबाएं खोल तक पहुँचने के लिए।

किसी उपयोगकर्ता को छोड़ने के लिए, DROP . का उपयोग करें कमांड, ठीक वैसे ही जैसे आप डेटाबेस को डिलीट करते समय करते हैं।

MariaDB [none]> DROP USER 'username'@'localhost';

आप निम्न MySQL संबंधित लेख भी पढ़ना पसंद कर सकते हैं:

  • MySQL में सामान्य त्रुटियों के निवारण के लिए उपयोगी टिप्स
  • Mytop - Linux में MySQL/MariaDB प्रदर्शन की निगरानी के लिए एक उपयोगी उपकरण
  • लिनक्स में डिफ़ॉल्ट MySQL/MariaDB पोर्ट कैसे बदलें
  • लिनक्स में MySQL या MariaDB रूट पासवर्ड कैसे रीसेट करें
निष्कर्ष

उम्मीद है, अब तक, आप अपने MySQL डेटाबेस सर्वर में उपयोगकर्ता बना सकते हैं और आराम से अनुमतियाँ असाइन या निरस्त कर सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं MySQL कनेक्टर/जे के साथ अर्धविराम द्वारा अलग किए गए एकाधिक प्रश्नों को निष्पादित कर सकता हूं?

  2. MySQL में भ्रष्ट InnoDB तालिका को सुधारने के सर्वोत्तम तरीके

  3. DAYOFMONTH () उदाहरण – MySQL

  4. PHP के साथ MySQL डेटाटाइम से दूसरे प्रारूप में कनवर्ट करें

  5. mysql में अगली ऑटो-इन्क्रीमेंट आईडी कैसे प्राप्त करें?