- 1 1. परिचय
- 2 2. MariaDB में उपयोगकर्ता सूची कैसे जांचें
- 3 3. MariaDB उपयोगकर्ताओं का विस्तृत प्रबंधन
- 4 4. MariaDB उपयोगकर्ता प्रबंधन के प्रमुख विचार
- 5 5. FAQ (अक्सर पूछे जाने वाले प्रश्न)
- 5.1 Q1: मैं केवल एक विशिष्ट उपयोगकर्ता को विशेषाधिकार कैसे दे सकता हूँ?
- 5.2 Q2: जब उपयोगकर्ता सूची नहीं दिखती है तो इसके कारण और समाधान क्या हैं?
- 5.3 Q3: यदि रूट उपयोगकर्ता लॉक हो गया है तो मुझे क्या करना चाहिए?
- 5.4 प्रश्न 4: उपयोगकर्ता को हटाते समय मुझे त्रुटि मिली। मैं क्या करूँ?
- 5.5 प्रश्न 5: मैं SHOW GRANTS आउटपुट को कैसे सहेजूँ?
- 5.6 सारांश
1. परिचय
MariaDB आज के सबसे अधिक उपयोग किए जाने वाले डेटाबेस प्रबंधन सिस्टमों में से एक है, जो अपनी उपयोग में आसानता और उच्च प्रदर्शन के लिए जाना जाता है। अपनी कई विशेषताओं में, उपयोगकर्ता प्रबंधन एक महत्वपूर्ण भूमिका निभाता है। उपयोगकर्ताओं को सही ढंग से प्रबंधित करके, आप डेटाबेस सुरक्षा सुनिश्चित कर सकते हैं और कुशल संचालन प्राप्त कर सकते हैं।
यह लेख MariaDB में उपयोगकर्ताओं की सूची कैसे जांचें, इस पर केंद्रित है। विशेष रूप से, हम SQL कमांड्स का उपयोग करके उपयोगकर्ताओं की सूची प्राप्त करने की विधि, प्रत्येक विधि के अंतर और लाभ, साथ ही संबंधित विशेषाधिकार सेटिंग्स और महत्वपूर्ण विचारों को समझाएंगे।
यह गाइड केवल MariaDB शुरुआती लोगों के लिए ही नहीं, बल्कि वर्तमान में प्रोडक्शन वातावरण का प्रबंधन करने वाले लोगों के लिए भी उपयोगी होने के उद्देश्य से लिखा गया है। अंत तक पढ़ना न भूलें।
2. MariaDB में उपयोगकर्ता सूची कैसे जांचें
MariaDB में उपयोगकर्ता सूची जांचने के कई तरीके हैं। प्रत्येक विधि की अपनी विशेषताएँ हैं, और अपने उद्देश्य के अनुसार उपयुक्त विधि चुनने से कुशल उपयोगकर्ता प्रबंधन संभव होता है। नीचे, हम तीन प्रतिनिधि विधियों को विस्तार से समझाते हैं।
2.1 mysql.user तालिका का उपयोग
MariaDB में उपयोगकर्ता जानकारी जांचने का सबसे बुनियादी तरीका mysql.user तालिका को सीधे संदर्भित करना है। यह तालिका सभी उपयोगकर्ता खाते की जानकारी संग्रहीत करती है।
उदाहरण कमांड
आप निम्नलिखित SQL को चलाकर उपयोगकर्ताओं की सूची देख सकते हैं:
SELECT Host, User FROM mysql.user;
व्याख्या
- Host : वह होस्टनाम दर्शाता है जिससे उपयोगकर्ता को कनेक्ट करने की अनुमति है।
- User : MariaDB में पंजीकृत उपयोगकर्ता नाम।
उपयोग परिदृश्य
- जब आप सभी उपयोगकर्ताओं को एक सूची में देखना चाहते हैं।
- जब आप यह जांचना चाहते हैं कि कौन से उपयोगकर्ता किसी विशिष्ट होस्ट से कनेक्ट हो सकते हैं।
महत्वपूर्ण नोट्स
mysql.userतालिका को संदर्भित करने के लिए आपको पर्याप्त विशेषाधिकार (आमतौर परrootविशेषाधिकार) चाहिए।- कुछ संस्करणों में,
mysql.userका प्रत्यक्ष उपयोग अनुशंसित नहीं हो सकता। हमेशा अपने संस्करण के आधिकारिक दस्तावेज़ की जाँच करें।
2.2 SHOW GRANTS कमांड का उपयोग
आप SHOW GRANTS कमांड का उपयोग करके किसी विशिष्ट उपयोगकर्ता को दिए गए विशेषाधिकारों की जाँच कर सकते हैं।
उदाहरण कमांड
नीचे दिखाए अनुसार उपयोगकर्ता निर्दिष्ट करके उनके विशेषाधिकार प्रदर्शित करें:
SHOW GRANTS FOR 'username'@'hostname';
व्याख्या
- आप प्रत्येक उपयोगकर्ता के विस्तृत विशेषाधिकारों की समीक्षा कर सकते हैं।
- उदाहरण आउटपुट:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
उपयोग परिदृश्य
- जब आप यह सत्यापित करना चाहते हैं कि उपयोगकर्ता की विशेषाधिकार सेटिंग्स सही हैं या नहीं।
- जब गलत विशेषाधिकार कॉन्फ़िगरेशन के कारण उत्पन्न समस्याओं का निवारण कर रहे हों।
महत्वपूर्ण नोट्स
- यदि आपके पास पर्याप्त विशेषाधिकार नहीं हैं, तो आप इस कमांड को निष्पादित नहीं कर पाएंगे।
2.3 information_schema.USER_PRIVILEGES का उपयोग
MariaDB में information_schema नामक एक सिस्टम डेटाबेस शामिल है। इसके भीतर USER_PRIVILEGES तालिका को क्वेरी करके आप सभी उपयोगकर्ताओं की विशेषाधिकार जानकारी प्रदर्शित कर सकते हैं।
उदाहरण कमांड
SELECT * FROM information_schema.USER_PRIVILEGES;
व्याख्या
- यह विधि आपको प्रत्येक उपयोगकर्ता के वैश्विक विशेषाधिकारों की समीक्षा करने की अनुमति देती है।
- आउटपुट में निम्नलिखित जानकारी शामिल होती है:
- GRANTEE : उपयोगकर्ता नाम और होस्टनाम।
- PRIVILEGE_TYPE : प्रदान किए गए विशेषाधिकार का प्रकार।
- IS_GRANTABLE : क्या यह विशेषाधिकार दूसरों को दिया जा सकता है।
उपयोग परिदृश्य
- जब आप एक साथ कई उपयोगकर्ताओं के विशेषाधिकारों की समीक्षा करना चाहते हैं।
- जब आप वैश्विक विशेषाधिकार सेटिंग्स का ऑडिट कर रहे हों।
महत्वपूर्ण नोट्स
- कुछ विशेषाधिकार इस तालिका में पूरी तरह से दिखाई नहीं दे सकते।
सारांश
इन विधियों का सही उपयोग करके आप MariaDB उपयोगकर्ता खातों और विशेषाधिकार जानकारी को प्रभावी ढंग से प्रबंधित कर सकते हैं। प्रत्येक दृष्टिकोण की अपनी ताकतें हैं, इसलिए अपने विशिष्ट लक्ष्य के आधार पर सही विधि का चयन करना आवश्यक है।

3. MariaDB उपयोगकर्ताओं का विस्तृत प्रबंधन
MariaDB आपको विस्तृत उपयोगकर्ता जानकारी की समीक्षा करने और विशेषाधिकारों को कुशलतापूर्वक प्रबंधित करने की सुविधा देता है। इस अनुभाग में, हम उचित उपयोगकर्ता प्रबंधन के लिए आवश्यक मुख्य कार्यों को समझाते हैं।
3.1 उपयोगकर्ता जानकारी की जाँच
MariaDB में, आप SHOW CREATE USER कमांड का उपयोग करके किसी विशिष्ट उपयोगकर्ता की विस्तृत जानकारी देख सकते हैं। यह कमांड उस वक्त उपयोग किए गए स्टेटमेंट को पुनः उत्पन्न करती है।
उदाहरण कमांड
निर्दिष्ट उपयोगकर्ता की विस्तृत जानकारी दिखाने के लिए निम्नलिखित SQL चलाएँ:
SHOW CREATE USER 'username'@'hostname';
व्याख्या
यह कमांड उपयोगकर्ता की प्रमाणीकरण विधि और अन्य विशेषताओं की जाँच के लिए उपयोग की जाती है। उदाहरण आउटपुट:
CREATE USER 'user1'@'localhost' IDENTIFIED VIA mysql_native_password USING '***';
उपयोग परिदृश्य
- जब आप उपयोगकर्ता की प्रमाणीकरण विधि की पुष्टि करना चाहते हैं।
- जब संभावित समस्याओं के लिए उपयोगकर्ता की विशेषताओं की समीक्षा कर रहे हों।
महत्वपूर्ण नोट्स
- इस कमांड को चलाने के लिए उचित विशेषाधिकार आवश्यक हैं (आमतौर पर
rootविशेषाधिकार)।
3.2 उपयोगकर्ता विशेषाधिकार सेट करना और संशोधित करना
MariaDB प्रत्येक उपयोगकर्ता के लिए लचीली विशेषाधिकार कॉन्फ़िगरेशन की अनुमति देता है। आप GRANT और REVOKE कमांड का उपयोग करके विशेषाधिकार प्रबंधित कर सकते हैं।
विशेषाधिकार प्रदान करना
निम्नलिखित SQL निर्दिष्ट उपयोगकर्ता को विशिष्ट विशेषाधिकार प्रदान करता है:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
विशेषाधिकार रद्द करना
अनावश्यक विशेषाधिकार हटाने के लिए, REVOKE कमांड का उपयोग करें:
REVOKE INSERT ON database_name.* FROM 'username'@'hostname';
व्याख्या
GRANTकमांड विशिष्ट डेटाबेस या तालिकाओं के लिए संचालन विशेषाधिकार असाइन करता है।REVOKEकमांड उन विशेषाधिकारों को हटाता है जो अब आवश्यक नहीं हैं।
उपयोग परिदृश्य
- जब नए उपयोगकर्ता के लिए विशेषाधिकार कॉन्फ़िगर कर रहे हों।
- सुरक्षा बढ़ाने के लिए अनावश्यक विशेषाधिकार हटाते समय।
महत्वपूर्ण नोट्स
- गलत विशेषाधिकार कॉन्फ़िगरेशन सुरक्षा जोखिम बढ़ा सकता है, इसलिए सावधानी से कार्य करें।
3.3 उपयोगकर्ता हटाना
अनावश्यक उपयोगकर्ताओं को हटाने से डेटाबेस सुरक्षा बढ़ती है। उपयोगकर्ता को हटाने के लिए DROP USER कमांड का उपयोग करें।
उदाहरण कमांड
निर्दिष्ट उपयोगकर्ता को हटाने के लिए निम्नलिखित SQL चलाएँ:
DROP USER 'username'@'hostname';
व्याख्या
- जब किसी उपयोगकर्ता को हटाया जाता है, तो उस उपयोगकर्ता को दिए गए सभी विशेषाधिकार एक साथ हटा दिए जाते हैं।
- यदि सफल होता है, तो MariaDB एक “Query OK” संदेश दिखाता है।
उपयोग परिदृश्य
- जब डेटाबेस से अनावश्यक उपयोगकर्ता को स्थायी रूप से हटाया जा रहा हो।
- सुरक्षा कारणों से अप्रयुक्त खातों को साफ़ करते समय।
महत्वपूर्ण नोट्स
- यदि उपयोगकर्ता वर्तमान में कनेक्टेड है, तो अनपेक्षित त्रुटियाँ हो सकती हैं।
- उपयोगकर्ता हटाना अपरिवर्तनीय है, इसलिए निष्पादन से पहले सावधानीपूर्वक पुष्टि करें।
सारांश
MariaDB में उचित उपयोगकर्ता प्रबंधन सुरक्षा और संचालन दक्षता दोनों को सुधारने के लिए आवश्यक है। उपयोगकर्ता जानकारी की समीक्षा, विशेषाधिकारों को कॉन्फ़िगर और संशोधित करने, तथा अनावश्यक उपयोगकर्ताओं को हटाने से आप एक सुरक्षित और कुशल डेटाबेस वातावरण बनाए रख सकते हैं।

4. MariaDB उपयोगकर्ता प्रबंधन के प्रमुख विचार
MariaDB उपयोगकर्ताओं को सही ढंग से प्रबंधित करने के लिए आपको कई महत्वपूर्ण बिंदुओं पर ध्यान देना आवश्यक है। यह अनुभाग अपर्याप्त विशेषाधिकारों को संभालने, प्रमुख सुरक्षा विचारों, और विभिन्न संस्करणों के बीच अंतर को समझाता है।
4.1 अपर्याप्त विशेषाधिकारों को कैसे संभालें
MariaDB में उपयोगकर्ता सूची या विशेषाधिकारों की जाँच के लिए पर्याप्त अनुमतियों की आवश्यकता होती है। यदि अपर्याप्त विशेषाधिकारों के कारण कोई ऑपरेशन विफल हो जाता है, तो आप निम्नलिखित उपाय आज़मा सकते हैं।
उदाहरण त्रुटि
आपको निम्नलिखित जैसी त्रुटि दिख सकती है:
ERROR 1045 (28000): Access denied for user 'user1'@'localhost'
इसे कैसे ठीक करें
- पुष्टि करें कि आप सही उपयोगकर्ता के रूप में लॉग इन हैं
- यदि आवश्यक विशेषाधिकार (उदाहरण के लिए,
SELECTविशेषाधिकार) अनुपलब्ध हैं, तो आपmysql.userतालिका को क्वेरी नहीं कर पाएँगे। - एक वैकल्पिक उपाय के रूप में, root उपयोगकर्ता के रूप में लॉग इन करने का प्रयास करें और ऑपरेशन दोहराएँ।
- root उपयोगकर्ता के रूप में लॉग इन करें
- root के रूप में लॉग इन करने से अधिकांश प्रशासनिक ऑपरेशन्स सक्षम होते हैं:
bash mysql -u root -p
- विशेषाधिकार पुनः कॉन्फ़िगर करें
- यदि आवश्यक हो तो आवश्यक विशेषाधिकार प्रदान करें:
sql GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname'; FLUSH PRIVILEGES;
महत्वपूर्ण नोट्स
- आवश्यक से अधिक विशेषाधिकार देने से बचें। अत्यधिक विशेषाधिकार सुरक्षा जोखिम बढ़ाते हैं।
4.2 सुरक्षा सर्वोत्तम प्रथाएँ
Security should be the top priority in MariaDB user management. Below are key points to keep in mind.
अप्रयुक्त उपयोगकर्ताओं को हटाएँ
- Leaving unused user accounts can make them potential targets for attackers.
- Regularly review users and remove unnecessary accounts:
DROP USER 'username'@'hostname';
मजबूत पासवर्ड नीति का उपयोग करें
- When creating users, set passwords that are difficult to guess:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'StrongPassword123!';
बाहरी पहुँच को प्रतिबंधित करें
- Limit which hosts can connect to prevent unnecessary external access:
CREATE USER 'user1'@'192.168.0.1' IDENTIFIED BY 'password';
लॉग्स की निगरानी करें
- Regularly review MariaDB logs (for example,
general_loganderror_log) to detect suspicious access.
4.3 MariaDB संस्करणों के बीच अंतर
MariaDB behavior and recommended practices can vary by version, so you should adjust your approach accordingly.
mysql.user तक सीधे पहुँच का निरसन
- In newer versions, directly querying the
mysql.usertable may be discouraged. In that case, useSHOW GRANTSorinformation_schemainstead.
प्रमाणीकरण प्लगइन्स
- Depending on the version, the default authentication plugin may differ. Older versions commonly use
mysql_native_password, while newer versions may recommend more secure options such ascaching_sha2_password.
सिफ़ारिश किए गए कदम
- Check your MariaDB version:
SELECT VERSION();
- Refer to the official documentation for your version and follow the latest best practices.
सारांश
By understanding these key considerations for MariaDB user management, you can strengthen security and improve operational efficiency. Pay attention to privilege issues and version-specific differences, and adopt up-to-date security measures.
5. FAQ (अक्सर पूछे जाने वाले प्रश्न)
Below are common questions and answers related to MariaDB user management. This section covers privilege configuration, error handling, and root-user issues that administrators often face.
Q1: मैं केवल एक विशिष्ट उपयोगकर्ता को विशेषाधिकार कैसे दे सकता हूँ?
उत्तर
You can use the GRANT command to grant only the necessary privileges to a specific user. Below is an example that grants SELECT and INSERT privileges on a specific database:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
FLUSH PRIVILEGES;
मुख्य बिंदु
- By specifying
database_name.*, the privileges apply to all tables within that database. - Run
FLUSH PRIVILEGES;to ensure the changes take effect.
Q2: जब उपयोगकर्ता सूची नहीं दिखती है तो इसके कारण और समाधान क्या हैं?
उत्तर
If you cannot view the user list, the following causes are common.
- अपर्याप्त विशेषाधिकार
- If required privileges (for example, the
SELECTprivilege) are missing, you may not be able to query themysql.usertable. - As a workaround, try logging in as the root user and repeat the operation.
- सही कमांड का उपयोग करना
- In newer MariaDB versions,
mysql.usermay be discouraged. In that case, use the following command instead:SELECT User, Host FROM information_schema.USER_PRIVILEGES;
- अपने MariaDB संस्करण की जाँच करें
- Because recommended methods can differ by version, check your current version first:
SELECT VERSION();
Q3: यदि रूट उपयोगकर्ता लॉक हो गया है तो मुझे क्या करना चाहिए?
उत्तर
If the root user is locked and you cannot log in, follow these steps.
- सुरक्षित मोड में MariaDB शुरू करें
- Stop the server and restart it in safe mode:
bash mysqld_safe --skip-grant-tables &
- रूट पासवर्ड रीसेट करें
- सुरक्षित मोड में MariaDB में लॉग इन करें, फिर निम्न कमांड का उपयोग करके रूट पासवर्ड रीसेट करें:
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;
- सुरक्षित मोड से बाहर निकलें और सामान्य रूप से पुनः प्रारंभ करें
- MariaDB को पुनः प्रारंभ करें और सामान्य संचालन पर लौटें।
महत्वपूर्ण नोट्स
सुरक्षित मोड में प्रमाणीकरण बायपास हो जाता है, इसलिए सुनिश्चित करें कि इस दौरान कोई तृतीय पक्ष सर्वर तक पहुँच न सके।
प्रश्न 4: उपयोगकर्ता को हटाते समय मुझे त्रुटि मिली। मैं क्या करूँ?
उत्तर
यदि आप उपयोगकर्ता को हटाते समय त्रुटि का सामना करते हैं, तो निम्नलिखित समस्याएँ सामान्य कारण हैं।
- जिस उपयोगकर्ता को आप हटाने की कोशिश कर रहे हैं वह वर्तमान में उपयोग में है
- यदि उपयोगकर्ता वर्तमान में कनेक्टेड है, तो हटाना विफल हो सकता है।
- एक वैकल्पिक उपाय के रूप में, उपयोगकर्ता के कनेक्शन को जबरन समाप्त करें:
SHOW PROCESSLIST; KILL connection_id;
- निर्भर ऑब्जेक्ट मौजूद हैं
- यदि उपयोगकर्ता से जुड़े ऑब्जेक्ट (जैसे व्यूज़ या स्टोरड प्रोसीजर) हैं, तो आपको पहले उन्हें हटाना पड़ सकता है।
प्रश्न 5: मैं SHOW GRANTS आउटपुट को कैसे सहेजूँ?
उत्तर
SHOW GRANTS का आउटपुट बाद में समीक्षा के लिए फ़ाइल में सहेजा जा सकता है।
- फ़ाइल में सहेजें
- कमांड लाइन में
mysqlक्लाइंट का उपयोग करें और आउटपुट को रीडायरेक्ट करें:bash mysql -u root -p -e "SHOW GRANTS FOR 'username'@'hostname';" > grants_output.txt
- SQL कथनों के रूप में सहेजें
- आउटपुट को टेक्स्ट फ़ाइल में सहेजें ताकि आप बाद में इसे पुनः उपयोग कर सकें।
सारांश
इस FAQ अनुभाग में, हमने MariaDB उपयोगकर्ता प्रबंधन में अक्सर आने वाले सामान्य प्रश्नों को संबोधित किया है। इन उत्तरों का उपयोग समस्याओं को हल करने और अपनी संचालन दक्षता को सुधारने के लिए करें।


