MySQL व्यवस्थापन: उपयोगकर्ता कैसे बनाएं और उसके अधिकारों को परिभाषित करें

विषयसूची:

MySQL व्यवस्थापन: उपयोगकर्ता कैसे बनाएं और उसके अधिकारों को परिभाषित करें
MySQL व्यवस्थापन: उपयोगकर्ता कैसे बनाएं और उसके अधिकारों को परिभाषित करें
Anonim

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

mysql उपयोगकर्ता बनाएँ
mysql उपयोगकर्ता बनाएँ

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

सामान्य होस्टिंग मोड में, यह पर्याप्त है। अप्रत्याशित स्थितियां, हैकर के हमले और अन्य परेशानियां बाहरी सिस्टम प्रशासन और सुरक्षा सेवाओं का मामला हैं। यह अवधारणा पारंपरिक हो गई है और व्यावहारिक रूप से इस पर चर्चा नहीं की जाती है।

MySQL सर्वर और उपयोगकर्ता रूट स्थापित करें

किसी भी ऑपरेटिंग वातावरण में डेटाबेस प्रबंधन प्रणाली स्थापित है, इसमें हमेशा कम से कम एक उपयोगकर्ता होता है: रूट। MySQL स्थापित करें, सभी रूट अधिकारों के साथ एक उपयोगकर्ता बनाएं - इसके बिना, इसके साथ काम करेंसर्वर संभव नहीं है। इस उपयोगकर्ता के विशेषाधिकार निम्न के लिए पर्याप्त हैं:

  • नए उपयोगकर्ता बनाएं और प्रबंधित करें;
  • डेटाबेस बनाएं और प्रबंधित करें।
mysql एक उपयोगकर्ता बनाता है और डेटाबेस को अधिकार देता है
mysql एक उपयोगकर्ता बनाता है और डेटाबेस को अधिकार देता है

"पासवर्ड रहित" उपयोगकर्ताओं के लिए MySQL में मौजूद होना मौलिक रूप से संभव है, लेकिन यह अस्वीकार्य है।

आम अभ्यास:

  • सर्वर अपने कंप्यूटर पर स्थापित है, जहां होस्टिंग स्थापित की जा सकती है (स्थानीय विकल्प);
  • सर्वर इंटरनेट पर सार्वजनिक होस्टिंग पर है।

पहले मामले में, कमांड लाइन से सर्वर के साथ काम करना और phpMyAdmin का उपयोग करना संभव है, दूसरे मामले में, केवल phpMyAdmin या एक समान टूल, लेकिन कमांड लाइन को दूरस्थ SSH एक्सेस के माध्यम से एक्सेस किया जा सकता है।

स्वयं के प्रशासन उपकरण

यूनिक्सॉइड परिवार के साथ और अपाचे सर्वर से अतीत के साथ रिश्तेदारी की भावना MySQL की एक बानगी है: क्रिएट यूजर अजीब सिंटैक्स के साथ एक कमांड लाइन है। लिनक्स और इसी तरह के सिस्टम के साथ काम करने वाले पेशेवरों के लिए, यह उतना ही परिचित है जितना कि विंडोज़ उपयोगकर्ताओं की नज़र में यह जंगली लगता है जिन्होंने कभी "वास्तविक जीवन में प्रवेश नहीं किया है।"

उपयोगकर्ता बनाना सर्वर कमांड लाइन शुरू करने के साथ शुरू होता है। Windows परिवेश में, यह निम्नानुसार किया जाता है।

mysql सभी अधिकारों के साथ उपयोगकर्ता बनाएं
mysql सभी अधिकारों के साथ उपयोगकर्ता बनाएं

पहले (1) आपको एक व्यवस्थापक के रूप में कमांड लाइन चलाने की जरूरत है, फिर उस फ़ोल्डर में जाएं जहां MySQL स्थित है (2), फिरसर्वर को ही शुरू करें (3):

mysql -u… -p

यहाँ "-u…" और "-p" वे कुंजियाँ हैं जो नाम "…"=रूट (या अन्य नाम) और उसके पासवर्ड की ओर इशारा करती हैं। सिद्धांत रूप में, उपयोगकर्ता रूट नहीं हो सकता है, लेकिन जिसके पास "रूट" (प्रशासनिक) अधिकार हैं।

महत्वपूर्ण: सर्वर वास्तव में हमेशा चल रहा है, यहाँ mysql -u… -p सर्वर तक पहुँचने का कमांड है, इसे शुरू करने के लिए नहीं।

लिनक्स वातावरण और इसी तरह के सिस्टम में, ऐसा कमांड एक "मूल" क्रिया है और, एक नियम के रूप में, बस mysqld को सही जगह (सही रास्ते पर) शुरू करके निर्धारित किया जाता है, इसकी जाँच की जानी चाहिए व्यवस्थापक। यहां आमतौर पर एक अलग नाम होता है: mysql नहीं, बल्कि mysqld। यहां भी, यह क्रिया हमेशा सभी उपयोगकर्ताओं (ऑपरेटिंग सिस्टम के, MySQL सर्वर के नहीं) के लिए उपलब्ध नहीं होती है। विंडोज के विपरीत, Linuxoids में, ऑर्डर और सुरक्षा एक स्वाभाविक और गैर-परक्राम्य आवश्यकता है, जिसे हमेशा सभ्य तरीके से व्यवहार किया जाता है।

किसी भी स्थिति में, एक बार mysql शुरू हो जाने के बाद, यह एक संकेत के साथ इसकी घोषणा करेगा (4):

mysql>

और उपयोगकर्ता और डेटाबेस दोनों के साथ काम करना संभव होगा।

नोट। Windows वातावरण में स्थापित करते समय, सब कुछ: Apache, MySQL, PHP, phpMyAdmin को डिफ़ॉल्ट पथों पर सेट किया जा सकता है, लेकिन इन महत्वपूर्ण उपकरणों के लिए अधिक कॉम्पैक्ट और नज़दीकी स्थानों का उपयोग करने की अनुशंसा की जाती है:

  • c:\SCiA\अपाचे;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin;
  • c:\SCiB\site1\www;
  • c:\SCiB\site2\www;
  • c:\SCiB\siteN\www\.

यह तर्क न केवल प्रशासन को सरल करेगा, बल्कि उत्पाद संस्करणों के बीच स्थानांतरित करने और उनकी कार्यक्षमता को प्रबंधित करने की डेवलपर की क्षमता का भी विस्तार करेगा।

MySQL कमांड लाइन पर काम करना

एक बार जब सर्वर ने प्रतिक्रिया दे दी और अपनी कमांड लाइन प्रदान कर दी, तो उपयोगकर्ताओं को बनाया जा सकता है और अनुमतियां दी जा सकती हैं।

mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं
mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं

इस उदाहरण में, क्रिएट यूजर कमांड ने यूजर पेट्रोव को पासवर्ड 123DFG के साथ बनाया। यदि कमांड दर्ज करते समय कोई त्रुटि होती है, तो सर्वर उसे ठीक करने की पेशकश करता है, लेकिन बेहतर है कि कमांड लाइन पर काम करते समय कभी गलती न करें!

निम्नलिखित आदेश अनुदान सभी विशेषाधिकार हर चीज के लिए सभी अधिकार देता है। फ्लश कमांड को छोड़ा जा सकता है, लेकिन यह कमांड के बफर को 'पॉप' करता है, यानी यह उनके निष्पादन को ठीक करता है।

MySQL: एक उपयोगकर्ता बनाएं और डेटाबेस को अधिकार प्रदान करें

उदाहरण में प्रयुक्त कमांड:

सभी विशेषाधिकार. पर 'पेट्रोव'@'लोकलहोस्ट' को दें;

वास्तव में उपयोगकर्ता पेट्रोव को सभी डेटाबेस (पहला तारांकन) तक सभी तालिकाओं (दूसरा तारांकन) तक पहुंच प्रदान करता है।

mysql सभी अधिकारों के साथ उपयोगकर्ता बनाएं
mysql सभी अधिकारों के साथ उपयोगकर्ता बनाएं

एक सामान्य MySQL नियम के रूप में, एक उपयोगकर्ता बनाना है:

अनुदान [विशेषाधिकार प्रकार] पर [डेटाबेस का नाम]। [तालिका का नाम] से '[उपयोगकर्ता]'@'लोकलहोस्ट';

निम्न विशेषाधिकारों की अनुमति है:

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

व्यावहारिक दृष्टिकोण से, MySQL में "एक उपयोगकर्ता बनाएं" का अर्थ अधिकारों के लिए तीन विकल्प हैं:

  • सभी डेटाबेस और सभी उपयोगकर्ताओं के लिए सभी अधिकार;
  • पढ़ें और लिखें;
  • केवल पढ़ने के लिए।

अधिकार देने के लिए अन्य विकल्पों की शायद ही कभी आवश्यकता होती है। Linux के वातावरण में, "कानूनी" स्वतंत्रता (और आवश्यकता) के लिए बहुत अधिक आधार हैं, लेकिन विंडोज़ की तुलना में वहां बहुत अधिक अवसर हैं।

MySQL "क्रिएट यूजर" का रिवर्स ऑपरेशन ड्रॉप है।

ड्रॉप यूजर 'पेट्रोव'@'लोकलहोस्ट';

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

रिवोक [विशेषाधिकार] पर [डीबी]। [टेबल] टू '[यूजर]'@'लोकलहोस्ट';

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

phpMyAdmin का उपयोग करना

इस अद्भुत टूल के कई कार्यान्वयन हैं। उपयोग किए गए Apache, PHP और MySQL के संस्करण के आधार पर, इस उत्पाद का सही संस्करण खोजने में अक्सर लंबा समय लगता है, लेकिन एक बार phpMyAdmin सफलतापूर्वक स्थापित हो जाने के बाद, उपयोगकर्ता के पास कई सुविधाजनक सुविधाएँ और एक आरामदायकइंटरफ़ेस।

mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं
mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं

phpMyAdmin का उपयोग करके, आप MySQL को किसी भी होस्ट के लिए एक उपयोगकर्ता बनाने और मौजूदा उपयोगकर्ताओं को निकट-सर्जिकल तरीकों से प्रबंधित करने के लिए कह सकते हैं।

phpMyAdmin एक आरामदायक, सहज और सुविधा संपन्न इंटरफ़ेस वाला एकमात्र टूल नहीं है, बल्कि यह MySQL सर्वरों को प्रशासित करने के लिए सबसे लोकप्रिय टूल है।

कमांड लाइन और सुरक्षा के बारे में

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

mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं
mysql किसी भी होस्ट के लिए उपयोगकर्ता बनाएं

सॉफ्टवेयर संस्करण इतनी तेजी से विकसित हो रहे हैं कि डेवलपर्स के पास PHP और MySQL, MySQL और phpMyAdmin की सुविधाओं को संयोजित करने का समय नहीं है। अगर कुछ होता है, तो कमांड लाइन हमेशा दिन बचाएगी।

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

सिफारिश की: