प्रमाणीकरण, प्राधिकरण और लेखा उद्देश्यों के लिए MySQL उपयोगकर्ता और विशेषाधिकार प्रबंधन बहुत महत्वपूर्ण है। MySQL 8.0 के बाद से, अब दो प्रकार के डेटाबेस उपयोगकर्ता विशेषाधिकार हैं:
- स्थिर विशेषाधिकार - सर्वर में निर्मित सामान्य वैश्विक, स्कीमा और प्रशासनिक विशेषाधिकार जैसे SELECT, ALTER, SUPER और USAGE।
- डायनामिक विशेषाधिकार - MySQL 8.0 में नया। एक घटक जिसे रनटाइम पर पंजीकृत और अपंजीकृत किया जा सकता है जो वैश्विक विशेषाधिकारों पर बेहतर नियंत्रण प्रदान करता है। उदाहरण के लिए, केवल कॉन्फ़िगरेशन प्रबंधन उद्देश्यों के लिए सुपर विशेषाधिकार निर्दिष्ट करने के बजाय, उस विशेष उपयोगकर्ता को केवल SYSTEM_VARIABLES_ADMIN विशेषाधिकार के साथ प्रदान किया जाना बेहतर है।
अपने डेटाबेस सर्वर के रूप में MySQL का उपयोग शुरू करने के लिए अपने संबंधित उपयोगकर्ता के साथ एक डेटाबेस स्कीमा बनाना बहुत प्रारंभिक चरण है। अधिकांश एप्लिकेशन जो MySQL को डेटास्टोर के रूप में उपयोग करते हैं, उन्हें इस कार्य को करने की आवश्यकता होती है, इससे पहले कि एप्लिकेशन इरादा के अनुसार काम कर सके। किसी एप्लिकेशन के साथ उपयोग करने के लिए, आमतौर पर एक MySQL उपयोगकर्ता को स्कीमा स्तर पर पूर्ण विशेषाधिकार (सभी विशेषाधिकार) रखने के लिए कॉन्फ़िगर किया गया है, जिसका अर्थ है कि एप्लिकेशन द्वारा उपयोग किए जाने वाले डेटाबेस उपयोगकर्ता को असाइन किए गए डेटाबेस पर कोई भी क्रिया करने की स्वतंत्रता है।
इस ब्लॉग पोस्ट में, हम MySQL वर्कबेंच और ClusterControl के बीच MySQL डेटाबेस उपयोगकर्ता प्रबंधन सुविधाओं की तुलना और तुलना करने जा रहे हैं।
MySQL कार्यक्षेत्र - डेटाबेस उपयोगकर्ता प्रबंधन
MySQL वर्कबेंच के लिए, आप प्रशासन -> प्रबंधन -> उपयोगकर्ता और विशेषाधिकार के तहत सभी उपयोगकर्ता प्रबंधन सामग्री पा सकते हैं। आपको बाईं ओर मौजूदा उपयोगकर्ताओं की सूची देखनी चाहिए, जबकि दाईं ओर चयनित उपयोगकर्ता के लिए प्रमाणीकरण और प्राधिकरण कॉन्फ़िगरेशन अनुभाग है:
MySQL 30 से अधिक स्थिर विशेषाधिकारों का समर्थन करता है और इसे समझना और याद रखना आसान नहीं है मॉल। MySQL कार्यक्षेत्र में कई पूर्व निर्धारित प्रशासनिक भूमिकाएँ होती हैं, जो डेटाबेस उपयोगकर्ता को पर्याप्त विशेषाधिकार प्रदान करते समय बहुत मददगार होती हैं। उदाहरण के लिए, यदि आप विशेष रूप से mysqldump का उपयोग करके बैकअप गतिविधियों को करने के लिए एक MySQL उपयोगकर्ता बनाना चाहते हैं, तो आप बैकअपएडमिन भूमिका चुन सकते हैं और संबंधित वैश्विक विशेषाधिकार उपयोगकर्ता को तदनुसार सौंपे जाएंगे:
नया डेटाबेस उपयोगकर्ता बनाने के लिए, "खाता जोड़ें" बटन पर क्लिक करें और "लॉगिन" टैब के तहत आवश्यक जानकारी की आपूर्ति करें। आप "खाता सीमा" टैब के अंतर्गत कुछ और संसाधन प्रतिबंध जोड़ सकते हैं। यदि उपयोगकर्ता केवल डेटाबेस स्कीमा के लिए है और किसी भी प्रशासनिक भूमिका के लिए नहीं है (सख्ती से एप्लिकेशन उपयोग के लिए), तो आप "प्रशासनिक भूमिकाएं" टैब को छोड़ सकते हैं और केवल "स्कीमा विशेषाधिकार" कॉन्फ़िगर कर सकते हैं।
"स्कीमा विशेषाधिकार" अनुभाग के तहत, कोई "प्रविष्टि जोड़ें" पर क्लिक करके एक डेटाबेस स्कीमा (या मिलान पैटर्न परिभाषित) चुन सकता है। फिर, सभी अधिकारों की अनुमति देने के लिए "सभी का चयन करें" बटन दबाएं (अनुदान विकल्प को छोड़कर) जो "सभी विशेषाधिकार" विकल्प कथन के समान है:
एक डेटाबेस उपयोगकर्ता MySQL सर्वर में तब तक नहीं बनाया जाएगा जब तक आप आवेदन नहीं करते परिवर्तन, "लागू करें" बटन पर क्लिक करके।
ClusterControl - डेटाबेस और प्रॉक्सी उपयोगकर्ता प्रबंधन
ClusterControl डेटाबेस और उपयोगकर्ता प्रबंधन MySQL वर्कबेंच की पेशकश की तुलना में थोड़ा अधिक सरल है। जबकि MySQL वर्कबेंच अधिक डेवलपर के अनुकूल है, ClusterControl का ध्यान SysAdmins और DBA में रुचि रखने वाले लोगों पर अधिक केंद्रित है, उन लोगों के लिए सामान्य प्रशासन सामग्री की तरह जो पहले से ही MySQL भूमिकाओं और विशेषाधिकारों से परिचित हैं।
डेटाबेस उपयोगकर्ता बनाने के लिए, प्रबंधित करें -> स्कीमा और उपयोगकर्ता -> उपयोगकर्ता -> नया उपयोगकर्ता बनाएं पर जाएं। आपको निम्नलिखित उपयोगकर्ता निर्माण विज़ार्ड के साथ प्रस्तुत किया जाएगा:
ClusterControl में उपयोगकर्ता बनाने के लिए आपको एक में सभी आवश्यक फ़ील्ड भरने होंगे पेज, MySQL वर्कबेंच के विपरीत, जिसमें समान परिणाम प्राप्त करने के लिए कई क्लिक शामिल थे। ClusterControl भी "REQUIRE SSL" सिंटैक्स के साथ एक उपयोगकर्ता बनाने का समर्थन करता है, विशेष उपयोगकर्ता को केवल SSL एन्क्रिप्शन चैनल के माध्यम से एक्सेस करने के लिए लागू करने के लिए।
ClusterControl एक क्लस्टर में सभी डेटाबेस उपयोगकर्ताओं पर एक समग्र दृश्य प्रदान करता है, जिससे आपको किसी विशेष उपयोगकर्ता को देखने के लिए प्रत्येक व्यक्तिगत सर्वर में लॉगिन करने की आवश्यकता नहीं होती है:
विशेषाधिकार बॉक्स पर एक साधारण रोलओवर उन सभी विशेषाधिकारों को प्रकट करता है जिन्हें सौंपा गया है यह उपयोगकर्ता। ClusterControl निष्क्रिय उपयोगकर्ताओं, उपयोगकर्ता खातों की एक सूची भी प्रदान करता है जिनका उपयोग पिछले सर्वर के पुनरारंभ होने के बाद से नहीं किया गया है:
उपरोक्त सूची हमें एक स्पष्ट सारांश देती है कि कौन से उपयोगकर्ता मौजूद हैं , हमें उपयोगकर्ता को अधिक कुशलता से प्रबंधित करने की अनुमति देता है। डीबीए तब डेवलपर से पूछ सकता है कि क्या निष्क्रिय डेटाबेस उपयोगकर्ता अभी भी सक्रिय होना आवश्यक है, अन्यथा उपयोगकर्ता खाता लॉक या गिराया जा सकता है।
यदि आपके पास बीच में एक प्रॉक्सीएसक्यूएल लोड बैलेंसर है, तो आप जान सकते हैं कि प्रॉक्सीएसक्यूएल का अपना MySQL उपयोगकर्ता प्रबंधन है जो इसे इसके माध्यम से पारित करने की अनुमति देता है। सामान्य MySQL उपयोगकर्ता कॉन्फ़िगरेशन की तुलना में कई अलग-अलग सेटिंग्स और चर हैं जैसे, डिफ़ॉल्ट होस्टग्रुप, डिफ़ॉल्ट स्कीमा, लेनदेन दृढ़ता, फास्ट फॉरवर्ड और कई अन्य। ClusterControl ProxySQL डेटाबेस उपयोगकर्ताओं के प्रबंधन में एक ग्राफिकल यूजर इंटरफेस प्रदान करता है, जो आपके प्रॉक्सी और डेटाबेस उपयोगकर्ताओं को एक ही बार में प्रबंधित करने के अनुभव और दक्षता में सुधार करता है:
ProxySQL प्रबंधन पृष्ठ के माध्यम से एक नया डेटाबेस उपयोगकर्ता बनाते समय, ClusterControl स्वचालित रूप से बना देगा ProxySQL और MySQL दोनों पर संबंधित उपयोगकर्ता। हालाँकि, जब एक MySQL उपयोगकर्ता को ProxySQL से हटाते हैं, तो संबंधित डेटाबेस उपयोगकर्ता MySQL सर्वर पर बना रहेगा।
फायदे और नुकसान
ClusterControl कई डेटाबेस विक्रेताओं का समर्थन करता है ताकि आपको अन्य डेटाबेस सर्वर के साथ समान उपयोगकर्ता अनुभव प्राप्त हो। ClusterControl एक साथ कई होस्ट पर एक डेटाबेस उपयोगकर्ता बनाने का भी समर्थन करता है, जहाँ यह सुनिश्चित करेगा कि बनाया गया उपयोगकर्ता क्लस्टर में सभी डेटाबेस सर्वर पर मौजूद है। उपयोगकर्ता खातों को सूचीबद्ध करते समय ClusterControl का एक क्लीनर तरीका है, जहां आप सभी आवश्यक जानकारी सीधे लिस्टिंग पृष्ठ में देख सकते हैं। हालांकि, उपयोगकर्ता प्रबंधन को सक्रिय सदस्यता की आवश्यकता होती है और यह सामुदायिक संस्करण में उपलब्ध नहीं है। यह उन सभी प्लेटफार्मों का समर्थन नहीं करता है जो MySQL चला सकते हैं, विशेष रूप से केवल कुछ लिनक्स वितरण जैसे CentOS, RHEL, डेबियन और उबंटू।
MySQL वर्कबेंच का सबसे मजबूत लाभ यह है कि यह मुफ़्त है, और इसका उपयोग स्कीमा प्रबंधन और प्रशासन के साथ किया जा सकता है। यह डेवलपर्स और डीबीए के लिए अधिक अनुकूल होने के लिए बनाया गया है और ओरेकल टीम द्वारा निर्मित और समर्थित होने का लाभ है, जो MySQL सर्वर का मालिक और रखरखाव करता है। यह अधिकांश इनपुट क्षेत्रों पर विवरण के साथ बहुत स्पष्ट मार्गदर्शन भी प्रदान करता है, विशेष रूप से प्रमाणीकरण और विशेषाधिकार प्रबंधन जैसे महत्वपूर्ण भागों में। पूर्व निर्धारित प्रशासनिक भूमिका उपयोगकर्ता को सर्वर पर किए जाने वाले कार्य के आधार पर उपयोगकर्ता को विशेषाधिकारों का एक सेट देने का एक साफ तरीका है। नीचे की तरफ, MySQL वर्कबेंच क्लस्टर फ्रेंडली टूल नहीं है क्योंकि प्रत्येक प्रबंधन कनेक्शन एक एंडपॉइंट MySQL सर्वर के अनुरूप होता है। इस प्रकार, यह क्लस्टर में सभी उपयोगकर्ताओं का केंद्रीकृत दृश्य प्रदान नहीं करता है। यह एसएसएल प्रवर्तन वाले उपयोगकर्ता बनाने का भी समर्थन नहीं करता है।
ये दोनों उपकरण नए MySQL 8.0 डायनेमिक विशेषाधिकार सिंटैक्स का समर्थन नहीं करते हैं, जैसे, BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, आदि।
निम्न तालिका आसान तुलना के लिए दोनों टूल की उल्लेखनीय विशेषताओं पर प्रकाश डालती है:
उपयोगकर्ता प्रबंधन पहलू | MySQL कार्यक्षेत्र | ClusterControl |
MySQL सर्वर के लिए समर्थित OS |
|
|
MySQL विक्रेता |
|
|
अन्य सॉफ़्टवेयर के लिए उपयोगकर्ता प्रबंधन का समर्थन करें |
| |
मल्टी-होस्ट उपयोगकर्ता प्रबंधन | नहीं | हां |
डेटाबेस क्लस्टर में उपयोगकर्ताओं का समेकित दृश्य | नहीं | हां |
निष्क्रिय उपयोगकर्ता दिखाएं | नहीं | हां |
SSL के साथ उपयोगकर्ता बनाएं | नहीं | हां |
विशेषाधिकार और भूमिका विवरण | हां | नहीं |
प्रशासनिक भूमिका पूर्व निर्धारित करें | हां | नहीं |
MySQL 8.0 डायनेमिक विशेषाधिकार | नहीं | नहीं |
लागत | निःशुल्क | प्रबंधन सुविधाओं के लिए आवश्यक सदस्यता |
हमें उम्मीद है कि ये ब्लॉग पोस्ट आपको यह निर्धारित करने में मदद करेंगी कि आपके MySQL डेटाबेस और उपयोगकर्ताओं को प्रबंधित करने के लिए कौन से टूल सबसे उपयुक्त हैं।